AngularJS 作用域绑定 {foo : "=" } 和 {foo : "=myFoo" } 之间的区别



我一直在用angular开发一些web应用,看到了在作用域上绑定变量的两种不同方式。每当我以为我弄明白了区别是什么时,结果总是错的。我已经找遍了,但还是找不到一个明确的答案。

scope:
{
   foo : "="
}

scope:{
   foo : "=foo"
}

我一直在使用顶部版本,它似乎工作得很好,但我想知道底部版本是什么(以及两边的变量是什么),这样我就不会错过任何强大的功能角必须提供

第二种方法允许您将作用域映射到标记中的不同名称。

查看隔离指令作用域一节中的示例:

https://docs.angularjs.org/guide/directive

这个笔记给出了一些有用的信息:

scope选项是一个对象,它包含每个对象的属性隔离作用域绑定。在本例中,它只有一个属性:

  • 它的名字(customerInfo)对应于指令的隔离作用域属性customerInfo。
  • 它的值(=info)告诉$compile绑定info属性。

这个也很有用。

指令的scope选项中的这些=attr属性是像指令名一样规范化。要绑定到bind- To -this="thing"中的属性,您需要指定=bindToThis的绑定。

最新更新