Javascript 如何将事件从一个单独的控制器提取到另一个页面控制器?
我们已尝试使用此代码将广播事件从一个页面控制器提取到另一个页面控制器Javascript 如何将事件从一个单独的控制器提取到另一个页面控制器?,javascript,angularjs,angularjs-scope,Javascript,Angularjs,Angularjs Scope,我们已尝试使用此代码将广播事件从一个页面控制器提取到另一个页面控制器 Controller1.js scope.createList = function() { scope.$broadcast("event: list updated", true); } Controller2.js scope.$on("event: list updated", function(value) { console.log('event update")
Controller1.js
scope.createList = function() {
scope.$broadcast("event: list updated", true);
}
Controller2.js
scope.$on("event: list updated", function(value) {
console.log('event update");
});
此方法在一个页面控制器中工作,但不在单独的js控制器中工作。controller1.js如何通知controller2.js?$broadcast方法为所有子作用域发出事件,因此侦听器控制器应该在其中。您可以在$rootScope上进行广播,而不是在scope上进行广播,这样每个scope都可以捕获事件
.controller("Controller1", function ($scope, $rootScope) {
$scope.createList = function() {
$rootScope.$broadcast("event: list updated", true);
}
})
您可以使用服务/提供商共享数据