我理解在隔离范围属性中使用=
和&
在隔离范围属性方面的技术差异:
// "="
isolateScopeProperty = getter(parentScope)
// "&"
isolateScopeProperty = function(locals) {
getter(parentScope, locals);
}
但在向人们解释差异时,我无法想出一个好的例子。你知道什么好的例子吗?
答案 0 :(得分:2)
我建议你观看这个egghead视频教程。
& 允许指令的隔离范围将值传递到父作用域中,以便在属性中定义的表达式中进行评估。请注意,directive属性是隐式表达式,不使用双花括号表达式语法。这篇文章更难以解释。 & 的视频位于:https://egghead.io/lessons/angularjs-isolate-scope-expression-binding
= 在指令的隔离范围和父范围之间设置双向绑定表达式。子范围的变化并传播到父级,反之亦然。 = 的视频在此处:https://egghead.io/lessons/angularjs-isolate-scope-two-way-binding。
答案 1 :(得分:1)
用例无限滚动指令
a)有一个范围属性 = currentPage ,以获取(或设置)无限滚动所在的当前页面。
b)有一个范围属性& loadContent ,以提供一个回调来加载下一页的数据以添加到无限滚动。