隔离范围绑定类型

时间:2017-04-25 13:59:21

标签: angularjs angularjs-scope angular-directive angular-components isolate-scope

根据AngularJS Developer Guide - Directives "Isolating the Scope of a Directive",范围绑定可以在3种类型中完成

=@&

根据"Directive Definition Object" section in this Page,范围绑定可以用4种类型完成

=@& <

即使在大多数在线文章中,范围绑定仅限于3种类型。

哪个是对的?

3 个答案:

答案 0 :(得分:5)

这些是角度1.5之前的标准绑定

=, @ and &

从角度1.5开始,基于组件的体系结构的新概念已经引入了这种绑定

<

表示单向绑定。

答案 1 :(得分:2)

我们使用=, @ and &创建自定义指令。

后来的角度1.5:引入Angularjs Component是一种特殊的指令,它使用更简单的配置,适用于基于组件的应用程序结构。

<符号表示从1.5开始可用的单向绑定。与=的区别在于不监视组件范围中的绑定属性,这意味着如果为组件范围中的属性分配新值,则不会更新父范围。

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

答案 2 :(得分:0)

我认为有3种类型:

= 用于双向绑定(对于ex Parent Directive与其子项共享属性)

@ 用于一个方向绑定(对于父指令,将params发送给其子方)

&amp; 用于函数绑定(对于ex,child可以调用在其父指令范围内声明的函数)