从ionicView.beforeLeave获取下一个状态

时间:2017-02-02 16:29:31

标签: angularjs ionic-framework

我知道角度中有$stateChangeStart函数可以执行以下操作。

$rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {

});

然而,我正在开发一种离子v1应用程序,其中我想使用更直观的方式,即离子生命周期。我想知道是否有可能在toState中获得toParams$ionicView.beforeLeave,因为我无法找到有关此问题的任何文档。例如:

$rootScope.$on('$ionicView.beforeLeave', function (event, toState, toParams) {

});

2 个答案:

答案 0 :(得分:1)

离子$ ionicView.beforeLeave事件可以带有2个参数的函数。从你只能从州获得的论证来看,它不会让你说明。

    $rootScope.$on("$ionicView.beforeLeave", function(event, data){
   // handle event
        console.log("Event: ", event); 
        console.log("Data: ", data);
    })

答案 1 :(得分:0)

所以我不得不使用全局状态监听器,并对下面的视图进行硬编码:

    $rootScope.$on('$stateChangeStart', function(e, toState, toParams, fromState, fromParams) {

        var states_hidetab = [  'app.shoppingcart', 
                                'app.home-product', 
                                'app.payment', 
                                'app.shipping', 
                                'app.review-order', 
                                'app.points'
                            ];

        $rootScope.hideTabs = states_hidetab.includes(toState.name);

    });