问题在于:
我尝试做这样的事情:
这是我做的相应的jsfiddle,带有注释:
http://jsfiddle.net/wkmm576m/7/
以下是我认为制造麻烦的代码......:
app.directive('addEditInput', function() {
return {
restrict : 'E',
template : '<div id="editForm"><input type="text" ng-model="currentVar.name" /><br/></div>'
}
});
事实上,我使用ng-model返回一个模板。但是当ng-model的值从其他地方改变时,它不会更新......
Tbh,我对指令和范围通信有点困惑 - 数据....
感谢您阅读/帮助
答案 0 :(得分:2)
简短回答 - 你需要在顶级控制器中调用$scope.$apply
:
http://plnkr.co/edit/QEjzlsJj4fh1eeqBXSvt?p=preview
长答案:你将常用的js函数绑定到通常的js事件,所以当用户点击元素时 - 你的函数会执行。就这样。当您使用ng-click时,它将触发摘要循环并且您的绑定将被更新。所以你需要手动触发它,所以你打电话给$scope.$apply
。
注意:最好不要在不需要的地方使用jquery。即使用$element.bind('click',function(){
代替$().on...