Ionic / AngularJS - 没有控制器的state.go

时间:2016-11-18 11:51:32

标签: javascript angularjs ionic-framework

我使用Ionic来构建应用程序。我有一个问题,我不知道如何解决。我想将用户重定向到另一个标签。我读到了关于state.go()的内容,但这些可能在这里不起作用。它不在控制器中。用户需要在收到通知并单击“显示”后重定向到另一个选项卡。这是我的代码。你能救我吗?

angular.module('starter', ['ionic', 'starter.controllers', 'starter.services'])

.run(function($ionicPlatform, $ionicPopup) {

  $ionicPlatform.ready(function() {

    if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
      cordova.plugins.Keyboard.disableScroll(true);
    }

    if (window.StatusBar) {
      StatusBar.styleDefault();
    }

      FCMPlugin.getToken(
        function(token){
          console.log("Użytkownik zarejestrowany");
        },
        function(err){
          console.log('Nie udało się połączyć z usługą powiadamiania');
        }
      )

      FCMPlugin.onNotification(
        function(data){
          if (data.wasTapped){
            // I need that code here
          } else {

            var confirmPopup = $ionicPopup.confirm({
               title: "Notification",
               template: 'Want to read?',
               cancelText: 'I want to read',
               okText: 'Nope'
             });
            
             confirmPopup.then(function(res) {
               if (res) {
                 // I need that code here
               }
             });

          }
        },
        function(msg){
          console.log("Ok");
        },
        function(err){
          console.log("Error");
        }
      );

  });
})

1 个答案:

答案 0 :(得分:1)

您甚至可以ui-router使用run block的{​​{1}}。

只需将依赖项$state添加为run block的依赖项。

.run(function($ionicPlatform, $ionicPopup, $state) {

    // code goes here

    $state.go('zglos')
}