`
LiYunpeng
  • 浏览: 952271 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

angular中,$interpolate和$compile

阅读更多

$interpolate
在官方文档中描述的是
编译一段带有插入标记({{}}这个东西,当然也可以是标签内的属性表达式)的语句,然后返回一个interpolation(插值)函数
插值函数的参数一context,也就是提供插值标记里面变量内容的对象。
例如
var html = '<div>{{name}}</div>';
$scope.interpolate = $interpolate(html)({name:'test'});

会将一段html,或者准确的说是就是字符串,不仅限于html,进行编译,将我们需要的值查进去,返回编译完的字符串。



再说$compile
我们在编写指令的时候,可能会用到$compile这个函数方法,而我们的指令也是通过上面的$interpolate进行实现的。
只不过$compile从字面意思来看,就是编译。
我们通常是在写指令的compile部分使用它,场景其实就是在写指令的时候,我们提供的仅仅是一个工厂,而在我们需要的地方才会进行编译执行,而$compile则会返回一个已经封装好的DOM对象。
分享到:
评论

相关推荐

    Angular中$compile源码分析

    在AngularJS中,`$compile`服务是核心组件之一,负责将HTML模板转换为可执行的JavaScript代码,以便与Angular的双向数据绑定和指令系统协同工作。本文将深入探讨`$compile`服务的源码分析,帮助我们更好地理解其工作...

    interpolation-angular:Angular $ 使用 ng-repeat 插入服务演示

    总的来说,“interpolation-angular”项目深入探讨了AngularJS中的数据绑定机制,特别是$interpolate服务和ng-repeat指令的结合使用,同时强调了性能优化的重要性。通过学习这个项目,开发者可以更好地理解和运用...

    基于angular中的重要指令详解($eval,$parse和$compile)

    总结来说,$eval用于在当前Scope上下文中执行表达式,$parse解析Angular表达式并提供getter和setter方法,而$compile则负责编译包含Angular指令的HTML模板,使其能够响应Model变化。理解这三个概念对于深入掌握...

    angular-formly-dynamic-interpolate-symbols:用于角度形式的插件,它将使用{{和}}的模板转换为$ interpolate的开头和结尾

    只需包含angular-formly-dynamic-interpolate-symbols.js文件,并将'angular-formly-dynamic-interpolate-symbols'到您应用的模块include中,{{和}}模板符号应自动替换为当前$ interpolate开始和结束符号。...

    Angular中$broadcast和$emit的使用方法详解

    要在控制器之间传递变量变化需要使用angular中的$broadcast和$emit方法来传递,同时使用$on来接收事件并作出响应。 broadcast译为广播,即上级传递下级。 示例代码: [removed][removed] [removed] angular....

    Angular使用$http.jsonp发送跨站请求的方法

    Angular中使用$http.jsonp发送跨站请求的实践中,遇到了下面的一些问题: 1. 不是所有返回json格式的url都支持jsonp,服务器端需要支持从url中读取返回函数并用它封装json数据。 2. AngularJS v1.6.1中,url中不能...

    angular1封装$http

    在AngularJS 1.x(通常称为Angular 1)中,`$http`服务是核心模块提供的一个关键组件,用于与服务器进行异步数据交互,如发送HTTP请求和接收响应。这个服务极大地简化了Web应用中的AJAX操作。下面将详细讨论如何在...

    Angular中$state.go页面跳转并传递参数的方法

    在AngularJS应用中,UI-Router是一个强大的状态管理工具,它允许我们定义多个视图和状态,方便地进行页面...希望这篇文章对您理解Angular中的页面跳转和参数传递有所帮助,如果您在实践过程中遇到问题,欢迎留言讨论。

    angular-$watch 多种监视

    Angular项目中$scope.$apply()方法的使用详解

    主要给大家介绍了关于Angular项目中$scope.$apply()方法使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Angularjs具有一定的参考学习价值,需要的朋友们下面跟着小编一起来看看吧。

    浅谈Angular的$q, defer, promise

    $q是Angular的一种内置服务,它可以使你异步地执行函数,并且当函数执行完成时它允许你使用函数的返回值(或异常)。 2. defer defer的字面意思是延迟,$q.defer() 可以创建一个deferred实例(延迟对象实例)。 ...

    Angular的$http的ajax的请求操作(推荐)

    在本文中,我们将深入探讨Angular的$http服务,以及如何使用它来进行GET和POST请求。 首先,Angular的$http服务通过其方法封装了传统的Ajax操作,如jQuery的$.ajax。这使得开发者可以避免直接处理底层的...

    详解Angular中$cacheFactory缓存的使用

    在AngularJS中,$cacheFactory是一个核心服务,用于创建和管理缓存对象。它提供了一种方式来存储和检索数据,以减少不必要的网络请求,从而提高应用的性能。本篇文章将详细讲解$cacheFactory的使用及其在实际项目中...

    Angular中$cacheFactory的作用和用法实例详解

    总的来说,`$cacheFactory` 在Angular中扮演着至关重要的角色,它提供了强大的缓存管理能力,使得开发人员能够灵活地控制数据的存储和检索,从而优化应用性能,减少网络延迟。合理利用 `$cacheFactory`,可以有效地...

    Angular4 Http

    本篇文章将深入探讨Angular4中的HTTP模块,包括其基本用法、配置和最佳实践。 ### 1. 引入HTTP模块 首先,我们需要在项目中引入`HttpClientModule`。在`app.module.ts`文件中,导入`HttpClientModule`并将其添加到...

    通过angular.element,变成jquery对象,改样式

    在AngularJS框架中,`angular.element`是一个非常有用的工具,它允许开发者将DOM元素转换为jQuery对象,从而利用jQuery丰富的API来操作DOM。这在处理复杂的DOM操作或需要与jQuery库进行集成时特别有用。本篇文章将...

Global site tag (gtag.js) - Google Analytics