我对 AngularJS 很陌生。谁能解释一下这些 AngularJS 运算符之间的区别:&、@ 和 =
在用适当的例子隔离作用域时。
最佳答案
@
允许将指令属性上定义的值传递给指令的隔离范围。该值可以是一个简单的字符串值(myattr="hello"
),也可以是一个带有嵌入表达式的 AngularJS 插值字符串(myattr="my_{{helloText}}"
)。将其视为从父范围到子指令的“单向”通信。 John Lindquist 有一系列简短的截屏视频来解释其中的每一个。 @ 的截屏在这里:https://egghead.io/lessons/angularjs-isolate-scope-attribute-binding
&
允许指令的隔离范围将值传递到父范围,以便在属性中定义的表达式中进行评估。请注意,指令属性隐含地是一个表达式,并且不使用双花括号表达式语法。这在文字中更难解释。截屏视频在这里:https://egghead.io/lessons/angularjs-isolate-scope-expression-binding
=
在指令的隔离范围和父范围之间设置双向绑定(bind)表达式。子范围的更改会传播到父范围,反之亦然。将 = 视为 @ 和 & 的组合。 = 的截屏视频在这里:https://egghead.io/lessons/angularjs-isolate-scope-two-way-binding
最后是一个截屏视频,在一个 View 中显示了所有三个一起使用:https://egghead.io/lessons/angularjs-isolate-scope-review
关于javascript - angularJS中& vs @和=有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14908133/