我在以下链接上研究AngularJS指令:指令
当我到达有关以下内容的最后一个示例时:创建进行通信的指令
我确实找到了这一行(来自script.js):
title: '@' // Line 33 at the script.js
问题是我不知道这行是什么意思,我知道title是一个孤立的作用域属性,但是什么是@
,我了解到:
'=' is where the attribute name is the same as the value
'=info' where info is the attribute
但是上面链接中的文档没有解释什么是@
,我的最佳猜测是,当the@
是值时,分配给该title
属性的值是title属性中的值,但是我不确定是否有人可以帮助我了解这是什么,我将非常感谢,谢谢大家,并度过愉快的一天。
@
是一种隔离范围绑定(如=
)。但是,@
表示仅获取属性的值,而不创建对外部作用域的双向绑定。
因此,如果您想在指令中使用某个值,但是在该指令实例的持续时间内该值未更改,则@
是一个不错的选择。
一个简单的例子是,如果您想为指令模板设置颜色:
<my-color-box color="red"></my-color-box>
然后,在指令中使用如下属性:
app.directive('myColorBox', function() {
return {
restrict: E,
scope: {
color: '@'
},
template: '<div style="background-color: {{color}}"></div>'
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句