angular中,$interpolate和$compile

本文详细解析了AngularJS中$interpolate服务的功能,即如何编译包含插值表达式的模板,并返回插值函数。同时介绍了$compile的作用,尤其是在自定义指令中的应用,它能够将指令编译为DOM元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值