所以我使用ngCordovas本地通知插件设置了本地通知。他们正在解雇并被应用程序接收。但是之后我似乎无法重定向到我想要的特定页面。这是我的相关代码,click事件中的console.log正在触发,注释掉的代码将重定向到页面,但在那时它是离子的(css没有加载,js没有自举等)
angular.module('starter', ['ionic', 'starter.controllers', 'starter.services', 'ngCordova', 'ionic-numberpicker', 'ngStorage'])
.config(function($ionicConfigProvider){
$ionicConfigProvider.views.maxCache(0);
})
.run(function($ionicPlatform, $rootScope, $cordovaLocalNotification) {
$ionicPlatform.ready(function() {
$rootScope.$on("$cordovaLocalNotification:click", function(notification, $state) {
console.log('clicked notification');
//window.location.href = 'templates/notification.html';
$state.go('notification');
});
if (window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
});
})
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('app', {
url: '/app',
abstract: true,
cache:false,
templateUrl: 'templates/menu.html',
controller: 'AppCtrl'
})
.state('app.settings', {
url: '/settings',
cache:false,
views: {
'menuContent': {
templateUrl: 'templates/settings.html',
controller: 'SettingsCtrl'
}
}
})
.state('app.list', {
url: '/list',
cache:false,
views: {
'menuContent': {
templateUrl: 'templates/list.html',
controller: 'ListCtrl'
}
}
})
.state('app.home', {
url: '/home',
cache:false,
views: {
'menuContent': {
templateUrl: 'templates/home.html',
controller: 'HomeCtrl'
}
}
})
.state('app.contact', {
url: '/contact',
cache:false,
views: {
'menuContent': {
templateUrl: 'templates/contact.html',
controller: 'ContactCtrl'
}
}
})
.state('app.user', {
url: '/users/:userId',
cache:false,
views: {
'menuContent': {
templateUrl: 'templates/users.html',
controller: 'UsersCtrl'
}
}
})
.state('notification', {
url: '/notification',
cache:false,
templateUrl: 'templates/notification.html',
controller: 'NotificationCtrl'
});
// if none of the above states are matched, use this as the fallback
$urlRouterProvider.otherwise('/app/home');
});
答案 0 :(得分:0)
$ state.go('notification')实际上可以在.run函数中导入状态而不是单击函数本身。