I am communicating from page2 controller to page1 controller in different views using $.emit and $on
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');
}
]);
Its working fine if I don't use page1 controller scope destroy method to unsubscribe from event listening. What should be the correct approach to handle this situation so that I can subscribe to page2controller messages and still using destroy method in page1 controller scope to unsubscribe whenever page1 is getting unloaded