我花了4个小时尝试用委托来实现指令,没有运气。
用例:
我有一个名为“过滤器”的指令。
当用户激活/停用过滤器时,父作用域可能需要更新屏幕上的数据。
在让父母运行之前,我想对内部数据结构进行一些内部更改,并将新的过滤器状态传递给父级。
我创建了一个jsfiddel来显示我想要做的简化版本。
http://jsfiddle.net/concept/zADNy/ 这是我在指令
中的范围scope : {
onFilterChanged : '&'
},
这是中间处理程序
function notifyParent() {
scope.onFilterChanged({filters:scope.filters});
}
答案 0 :(得分:1)
指令代表必须是小写(有人请纠正我,如果该判断错误,如果是,那么为什么骆驼案例版本不起作用)
好的,所以经过几个小时的播放和阅读以及查看其他人的代码后,我发现由于某种原因,委托功能需要小写。
以下是最终修复
http://jsfiddle.net/concept/zADNy/4/
这是我在指令
中的范围scope : {
onfilterchanged : '&'
},
这是中间处理程序
function notifyParent() {
scope.onfilterchanged({filters:scope.filters});
}