【问题标题】:Ionic $state.go in $ionicPlatform.ready(function()离子 $state.go 在 $ionicPlatform.ready(function()
【发布时间】:2016-06-22 10:33:31
【问题描述】:

收到推送通知后,我在使用离子路由时遇到了一些问题。当通过单击消息打开应用程序和回调必须在应用程序中打开页面接收通知时,使用自定义密钥(例如'myKey')发出通知。例如:

var notificationOpenedCallback = function(jsonData) {
  if (jsonData.additionalData) {
    if (jsonData.additionalData.myKey)
      location.href = jsonData.additionalData.myKey;
  }
}

在我的 Ionic 应用程序中使用 $stateProvider。当收到通知我想打开这个状态:

  .state('app.post', {
    url: "/posts/:postId",
    views: {
      'menuContent': {
        templateUrl: "templates/post.html",
        controller: 'PostCtrl'
      }
    }
  })

我已经尝试过了,其中收到了“myKey”的 postID:

var notificationOpenedCallback = function(jsonData) {
  if (jsonData.additionalData) {
    if (jsonData.additionalData.myKey)
      $state.go('app.post', {'postId': + jsonData.additionalData.myKey});
  }
}

但它不起作用,这是所有代码:

.run(function($ionicPlatform) {
  $ionicPlatform.ready(function() {

 var notificationOpenedCallback = function(jsonData) {
  if (jsonData.additionalData) {
    if (jsonData.additionalData.myappurl)
      $state.go('app.post', {'postId': + jsonData.additionalData.myKey});
  }
}

    window.plugins.OneSignal.init("###############",
                                   {googleProjectNumber: "###########"},
                                   notificationOpenedCallback); 



    if (window.cordova && window.cordova.plugins.Keyboard) {
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
    }
    if (window.StatusBar) {
      // org.apache.cordova.statusbar required
      StatusBar.styleDefault();
    }   
  });
})

【问题讨论】:

    标签: javascript angularjs cordova ionic-framework


    【解决方案1】:

    尝试将$state 传递到您的run 块中:

    .run(function($ionicPlatform, $state) {
      $ionicPlatform.ready(function() {
        var notificationOpenedCallback = function(jsonData) {
          if (jsonData.additionalData) {
            if (jsonData.additionalData.myappurl)
              $state.go('app.post', {'postId': + jsonData.additionalData.myKey});
          }
        }
      })
      // the rest of your code
    })
    

    【讨论】:

      猜你喜欢
      • 2016-02-17
      • 1970-01-01
      • 2017-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多