如何重定向到视图

How to redirect to a view

我有一个触发的本地通知,点击时应该加载一个特定的视图。目前它没有到达唤醒控制器,尽管消息 "I be clicked" 出现在控制台中,因此通知正在到达位置行。

这就是我努力实现这一目标的方式。

angular.module('starter', ['ngCordova', 'ionic', 'starter.controllers', 'starter.services'])
.run(function($ionicPlatform, $cordovaLocalNotification, $location) {
  $ionicPlatform.ready(function() {
    if(window.cordova && window.cordova.plugins.Keyboard) {
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
    }
    if(window.StatusBar) {  StatusBar.styleDefault();  }
    //$location.path('awake'); // this does redirect on home page load. 
    // window.plugin.notification.local.registerPermission(function (granted) {
    //   alert('Permission has been granted: ' + granted);
    // });    
    window.plugin.notification.local.ontrigger = function (id, state, json) {             
       $location.path('awake');
    };
    window.plugin.notification.local.onclick = function (id, state, json) { 
      console.log('i be clicked');
      $location.path('awake');
    };
    window.plugin.notification.local.onadd = function (id, state, json) {
      //alert('added');
    };
  });
})

为什么应用没有进入唤醒控制器?

位置似乎在控制器之外不起作用。为此,我更新了第二行以包含状态对象:

.run(function($ionicPlatform, $cordovaLocalNotification, $location, $state) {

然后像这样重定向

$state.go('awake');