Ich habe seit einiger Zeit Angular-Apps gebaut, aber dies ist meine erste Ionic App. Ich versuche $ aus $ rootScope zu senden, aber es scheint nicht zu funktionieren.Ionisches Ereignissystem: Keine Ereignisse Feuer
Mit Ionic Version "1.3.1"
Mit dem App-Set-up aus dem Gerüst (ionic start {appname} {template}
). app.js Setup:
angular
.module('starter', ['ionic', 'starter.controllers', 'starter.services'])
.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
if (window.StatusBar) {
// org.apache.cordova.statusbar required
StatusBar.styleDefault();
}
});
})
.config(function($stateProvider, $urlRouterProvider, $ionicConfigProvider) {
$ionicConfigProvider.tabs.position('bottom')
$stateProvider
.state('tab', {...
In einem meiner Controller Ich teste mehrere Ereignisse direkt nebeneinander ohne Erfolg. Diese Debugger nie getroffen:
$rootScope.$broadcast("testing123", {message: "test"});
$rootScope.$emit("testing456", {message: "test #2"});
$scope.$on("testing123", function(object) {
debugger;
});
$scope.$on("testing456", function(object) {
debugger;
});
$rootScope.$on("testing456", function(object) {
debugger;
});
Aber wenn ich versuchen, einige integrierte Ereignis aus der Dokumentation wie:
$scope.$on("$ionicView.beforeEnter", function(event, data){
console.log("State Params: ", data.stateParams);
});
dann ist es getroffen. Ich weiß also, dass Ereignisse funktionieren, ich kann keine benutzerdefinierten Ereignisse erstellen. Irgendwelche Ideen, warum meine Ereignisse nicht schießen oder empfangen werden, würden geschätzt werden!
Vielen Dank! Ich bin mir nicht sicher, wie ich in normalem Winkel nicht auf dieses Problem gestoßen bin. Ich werde damit herumspielen, um mehr darüber zu erfahren, was vor sich geht. – Onyooo
Es scheint, dass der Controller, den ich empfangen wollte, besucht werden muss, um den Listener zu laden. Muss eine Problemumgehung finden. Danke noch einmal. – Onyooo