请检查Plunker here。
该指令在如下视图中加载
<logic-tree ng-model="myData"> </logic-tree>
在加载指令的控制器中,模型绑定到如下变量。
$scope.myData= { ... };
$scope.$watch( 'myData', function(newValue, oldValue){
console.log("This is never called");
});
调用updateModel
时,myData
未更新。
请有人知道问题所在。
答案 0 :(得分:0)
你的updateModel函数也应该有$ render:
updateModel = function() {
setTimeout(function () {
$scope.$apply(function () {
ngModelCtrl.$setViewValue($scope.source);
ngModelCtrl.$render();
});
}, 0);
};