pig*_*ack 4 javascript angularjs
从Directives文档中可以看出,这有两种方式继承范围:
@或@attr - 将本地范围属性绑定到DOM属性的值.结果总是一个字符串,因为DOM属性是字符串.如果未指定attr名称,则假定属性名称与本地名称相同.范围的给定和窗口小部件定义:{localName:'@ myAttr'},然后窗口小部件范围属性localName将反映hello {{name}}的内插值.随着name属性的更改,widget命名空间上的localName属性也会更改.从父作用域(而不是组件作用域)读取名称.
= or = attr - 设置本地范围属性与通过attr属性的值定义的name的父范围属性之间的双向绑定.如果未指定attr名称,则假定属性名称与本地名称相同.范围的给定和窗口小部件定义:{localModel:'= myAttr'},然后窗口小部件范围属性localModel将反映父范围上的parentModel的值.对parentModel的任何更改都将反映在localModel中,localModel中的任何更改都将反映在parentModel中.
考虑到我想传递elementId,这只是一个id,我可以通过= elementId或@elementId传递它.
现在哪两个被认为是最佳实践?如果我使用the @属性,那么它将从DOM获取比直接取值更慢的值?
我对么?有什么建议?
对于你的情况,@似乎是最好的.(尽管如何在HTML元素中使用指令和elementID也是有用的.)
我不知道哪个更慢/更快.
另请参阅AngularJS中指令范围中"@"和"="之间的区别是什么?
| 归档时间: |
|
| 查看次数: |
5778 次 |
| 最近记录: |