`
LiYunpeng
  • 浏览: 961350 次
  • 性别: 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`服务的源码分析,帮助我们更好地理解其工作...

    dust_issue_sample:我在 DustJS 中遇到的关于 Angular ngModel 的问题示例

    DustJS 可以被 AngularJS 的 $interpolate 服务所调用,从而在 Angular 的环境中执行。这样可以在 Dust 模板中直接使用 Angular 的表达式,但要注意避免使用 Angular 的指令。 ```javascript var dust = require('...

    AngularJS中的Directive实现延迟加载

    在Web开发中,延迟加载(或按需加载)是一种优化技术,用来提升页面加载速度和用户体验。通过延迟加载,我们可以先加载当前用户所需要的资源,其他资源则在需要的时候才加载。在AngularJS中,可以利用Directive...

    精通AngularJS part1

    他曾在Devoxx UK和其他活动中发表过有关AngularJS的演讲,并开办过AngularJS的培训课程。他希望帮助企业更好地利用AngularJS。 目录 序1 第1章Angular之禅7 11邂逅AngularJS7 熟悉框架8 参与AngularJS项目8 ...

    AngularJS创建自定义指令的方法详解

    在编译期间,Angular会使用 `$interpolate` 服务检查文本和属性值中是否包含内联表达式。例如,`&lt;a ng-href="img/{{username}}.jpg"&gt;Hello {{username}}!&lt;/a&gt;` 中的 `ng-href` 和 `{{username}}` 将被注册为监视器,...

    AngularJs directive详解及示例代码

    在编译过程中,AngularJS的$interpolate服务会找到这些表达式并进行绑定,当数据发生变化时,表达式的结果会自动更新。例如: ```html Hello {{username}}! ``` AngularJS的编译过程包括三个主要步骤: 1. **...

Global site tag (gtag.js) - Google Analytics