AngularJS - 在广播事件后更新指令的视图
AngularJS - updating directive's view after broadcasting event
在我的角度应用程序(使用 ES6)中,我需要在从其他指令触发一些自定义事件后进行 ajax 调用,代码如下:
class GridController {
constructor($scope, $rootScope, MyService) {
this.$scope = $scope;
this.$rootScope = $rootScope;
this.MyService = MyService
this.MyService.getItems(arg1, arg2).then((resp) => {
this.viewModel= resp;
});
this.$rootScope.$on('myEvent', (e, args) => {
this.MyService.getItems(arg1, args[1]).then((resp) => {
this.viewModel= resp;
});
}
});
}
问题是视图在成功的 ajax 调用后没有更新。有什么想法为什么会发生这种情况吗?
可能是模型更新问题,请尝试此操作。
$scope.$apply();
也许 ajax-call 发生在 angulars 消化周期之外。您试过打电话给$scope.$digest()
?这将触发当前范围的观察程序;他们应该接受模型更改。
相关文章:
- 如何根据服务更改更新指令
- AngularJs在调用服务方法后更新指令
- 无法更新指令的模型
- Angular.js正在更新指令中的SVG模板
- 隔离未更新指令中值的作用域
- 角度指令模板输入不会更新指令范围
- AngularJS:在成功的HTTP请求后更新指令范围
- 动态更新指令 (1.2 rc3)
- 更新指令中的attrs值 - 如何在AngularJS中执行此操作
- angularjs中没有更新指令作用域变量
- 正在从工厂更新指令
- 异步上未更新指令作用域
- 文本框未更新指令中显示的值
- 在测试期间更改了单向绑定指令属性,没有更新指令范围
- 动态更新指令数据
- 动态添加元素后更新指令
- Angular在作用域变量改变后更新指令
- 不能更新指令中的$scope值
- 当属性值改变时更新指令视图
- 当输入改变时更新指令