在AngularJS中,是否可以强制视图从外部进行更新's控制器
In AngularJS is it possible to force a view to update from outside of it's controller?
编辑:
标题中所述的问题在下面得到了正确的回答,所以我认为为了让人们看到如何做到这一点,我应该把这个问题留给下面的答案。
事实证明,我使用的框架并没有完全抽象掉Angular的变量到camelcase约定。它在其他地方都被抽象掉了,只是不在这里,而且现在一切都正常,所以我根本不需要强制重新绘制。如果有人这样做,请参阅下面的答案。:(
在指令中执行事件绑定,而不是在控制器中执行。如果您对某个模型进行更改并希望这些更改反映在指令之外,则必须从指令内部调用$apply()
:
myApp.directive('someDir', function () {
return {
restrict: 'E',
scope: {
model: '=',
},
link: function (scope, elt, dirs) {
elt.bind('click', function () {
scope.$apply(function () {
// make changes to scope.model
});
});
}
}
});
相关文章:
- 如何从相应的控制器动态更新标题和描述
- 在控制器之间切换,可以't更新视图
- AngularJS更新控制器变量并再次渲染视图
- 如何从另一个控制器更新控制器的ng重复模型
- 如何更新控制器angularjs中的.value
- 自动更新控制器Angular Metroet中的记录
- 角度文件上传指令不更新控制器模型
- UI-select2 内部指令未更新控制器模型
- AngularJS-通过服务从指令更新控制器数据(this.model语法)
- AngularJS通过服务自动更新控制器数据
- 更新控制器外部的角度模型
- Ionic AngularJS http服务不更新控制器
- AngularJS后台任务指令更新控制器
- 如何从jquery中更新控制器变量
- Ng-model不更新控制器中的值
- 更新控制器变量,并在指令的视图中使用它(angular 1.5)
- 为什么ng-model不更新控制器值select
- Ember:如何更新控制器中JSON对象数组中的单个字段
- Angular没有更新控制器中的$scope变量
- 角度/离子 - 型号不会更新控制器中的$scope