AngularJS,指令

艾菲尔·费迪达(Aviel Fedida)

我在以下链接上研究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属性中的值,但是我不确定是否有人可以帮助我了解这是什么,我将非常感谢,谢谢大家,并度过愉快的一天。

戴文·崔恩(Davin Tryon)

@是一种隔离范围绑定(如=)。但是,@表示仅获取属性而不创建对外部作用域的双向绑定。

因此,如果您想在指令中使用某个值,但是在该指令实例的持续时间内该值未更改,则@是一个不错的选择。

一个简单的例子是,如果您想为指令模板设置颜色:

<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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章