欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

angular中,$interpolate和$compile 博客分类: angularJS angularjs$interpolate$compile 

程序员文章站 2024-03-18 22:29:22
...

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

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



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