我使用$ .emit和$ on
在不同视图中从page2控制器与page1控制器进行通信 app.controller('mainController', ['$scope', function($scope) {
$scope.message = "hello main page";
$scope.$on('frompage2', function(event, data) {
console.log("in parentController.........." + data);
})
}]);
app.controller('page1Controller', ['$scope', '$rootScope', function($scope, $rootScope) {
$scope.message = "hello page1";
var msgFromPage2 = $rootScope.$on('frompage2', function(event, data) {
console.log("in page1 controller" + data);
})
$scope.$on('$destroy', function() {
msgFromPage2()
});
}]);
app.controller('page2Controller', ['$scope',
function($scope) {
$scope.message = "Hello page 2"
$scope.$emit('frompage2', 'this is from page2');
}
]);
如果我不使用page1控制器范围销毁方法取消订阅事件监听,它的工作正常。 处理这种情况应该是什么样的正确方法,以便我可以订阅page2controller消息,并且仍然在page1控制器范围内使用destroy方法取消订阅,只要page1被卸载