在 $location.path() 更改后的另一个 ng-view 中触发事件
Trigger event in another ng-view after $location.path() has changed
我想在 $location.path() 更改 ng-view(不使用 $rootScope)后在另一个视图中触发警报。
在我的控制器触发事件中,我有:
$location.path('/');
myService.setAlert("My alert");
我的服务传递"消息"并$broadcast事件
myService.broadcastAlert = function(){
$rootScope.$broadcast('alertChanged');
};
myService.setAlert = function(message){
myService.alert = message;
rootScope.$on('$routeChangeSuccess', function() {
myService.broadcastAlert();
});
}
我的另一个视图的控制器收到警报
$scope.$on('alertChanged', function(){
console.log("New Alert is triggered");
});
这里的问题是rootScope.$on('$routeChangeSuccess')在之后继续运行
也许您需要注销:
myService.setAlert = function(message){
myService.alert = message;
var deregister = rootScope.$on('$routeChangeSuccess', function() {
myService.broadcastAlert();
deregister();
});
};
相关文章:
- 在AngularJS中的另一个ng应用程序中使用来自一个ng程序的Cookie值
- 检查资源的id是否在ng重复中显示的另一个资源的id列表中
- 另一个 ng-click() 未按预期工作
- 如何从另一个控制器更新控制器的ng重复模型
- 从angular js中的另一个ng应用程序调用方法
- 将NG打印的数据在一个html中重复传输到另一个html
- 访问一个控制器的ng隐藏值以在全局控制器中操纵另一个控制器中的ng样式
- 使用AngularJS在ng重复中从一个状态到另一个状态制作动画
- ng-repeat=“(key, value)” 不能将 {{key}} 的值用作另一个指令的全局范围的一部分
- AngularJS ng选项添加了另一个选项
- ng模型的输入基于另一个变量
- 在 $location.path() 更改后的另一个 ng-view 中触发事件
- 用另一个 ng 点击覆盖点击(例如 ng 点击)
- Angular JS ng-click在通过另一个javascript函数加载HTML时不起作用
- 如何使用 ng 无限滚动并在 http.jsonp 完成后更新另一个 DOM 元素
- 角度表单双重发布(html中没有另一个ng控制器)
- 从另一个 Angular 控制器更新 ng-repeat
- 如何使用另一个 ng 选项选定值动态更新 ng 选项值
- AngularJS:如果ng模型被另一个模型填充,如何让它受到影响
- 如何使用附加到html标签的嵌套ng应用程序将一个基于angularjs的SPA包含到另一个基于angularjs