Мы пытаемся разработать приложение с использованием phonegap onsen и angularJS.угловая функция вызова от разных контроллеров
Я пытаюсь вызвать функцию из разных контроллеров. Я видел много документации о том, как это сделать, например this
Но по какой-то причине это не работает для меня. Вот мой код до сих пор.
module.run(function ($rootScope) {
$rootScope.$on('some-event-here', function (event, data) {
console.log('1');
$rootScope.$emit('show-dialog-of-some-event', data);
//I also tried
//$rootScope.$broadcast('show-dialog-of-some-event', data);
});
});
module.controller('controller1', ['$scope', '$http', function($scope, $http) {
$scope.proceed = function() {
console.log('0');
$scope.$emit('some-event-here', {});
}
}]);
module.controller('controller2', ['$scope', '$http', function($scope, $http) {
$scope.$on('show-dialog-of-some-event', function (event, data) {
console.log('2');
ons.createDialog('some-dialog.html').then(function(dialog) {
//some code here
});
});
}]);
Он отображается на консоли «0» и «1», но не показывает «2».
Это может быть легкой проблемой, но я не могу найти проблему с моим кодом.
Заранее спасибо.
Попробуйте использовать '$ rootScope. $ Broadcast' вместо' $ emit' в вашей функции запуска –
@NexusDuck Я уже пробовал. $ rootScope. $ broadcast ('show-dialog-of-some-event', data); - Все еще не работает. – Eddie
Нечетный, я сделаю plnkr и протестирую его. Кстати, я не вижу другого модуля, на который вы ссылаетесь в своем вопросе здесь, это весь соответствующий код? –