【发布时间】:2014-05-14 20:38:42
【问题描述】:
我有一个与服务器通信并返回scope.dbInsertId 的上传文件指令。我想看这个,然后用这个值更新 ng-model。我无法使用$apply 让它工作。这是我的代码:
scope.$watch('dbInsertId', function(newValue, oldValue) {
if (newValue)
scope.$apply(function() {
scope.ngModel = scope.dbInsertId;
});
console.log("I see a data change!");
return ngModel.$modelValue;
}, true);
我的代码错了吗?
【问题讨论】:
-
你试过 scope.$apply
-
抱歉,这里打错了。我确实尝试过
scope.$apply并且确实有效.. -
second - 删除 apply 并将您的代码放入 watch 函数中,在所有 watch 迭代中应用触发
-
尝试将您的指令 ng-model 与父范围变量 $scope.someVar 绑定 - 在控制器中
-
如果你想在指令中使用父作用域,请使用:scope: true :) 但我认为,所有指令都应该有自己的作用域
标签: angularjs scope angularjs-directive angularjs-scope watch