ENV:
在Angular1.0.5,1.1.2
中尝试问题:
我的双向绑定并没有立即更新我的视图,我必须在$ scope.is_pic setter之后调用$ scope。$ apply以便在浏览器中看到它。
上传图片,查看文件输入是否反映了文件名。在上面的文本框中键入,然后在ng-model上调用$ digest,然后神奇地将浏览器更新为控制器中的内容。
如果您更新" if"声明:
if (e.target.result.indexOf('data:image') !== -1) {
$scope.apc.is_pic = true;
return $scope.$apply();
} else {
$scope.apc.is_pic = false;
return $scope.$apply();
}
你会看到它突然发挥作用。为什么这对我失败了?
注意:javascript是由coffeescript生成的,这就是为什么它看起来很棒。
答案 0 :(得分:4)
这是因为模型更新是在回调内完成的,即不在Angular上下文中。双向绑定仅在Angular中更新模型变量时有效,否则应显式调用$ apply方法。