簡體   English   中英

在Ionic應用程序中未從$ state.go()調用ui-router onEnter()

[英]ui-router onEnter() not being called from $state.go() within Ionic app

在我的Ionic應用程序中使用ui路由器的$state.go()時,不會調用onEnter方法。

狀態將從tab.settings過渡到tab.queries 狀態過渡良好。 如何從$state.go()調用中獲取onEnter方法? 進入子視圖時不會調用onEnter嗎?

路線

$stateProvider
.state('tab', {
    url: "/tab",
    abstract: true,
    templateUrl: "templates/tabs.html"
})
.state('tab.queries', {
    url: '/queries',
    views: {
        'tab-queries': {
            templateUrl: 'templates/tab-queries.html',
            controller: 'QueryCtrl',
            onEnter: function() {
                activate();
            }
        }
    }
})
.state('tab.settings', {
    url: '/settings',
    views: {
        'tab-settings': {
            templateUrl: 'templates/tab-settings.html',
            controller: 'SettingsCtrl'
        }
    }
});

SettingsCtrl

vm.removeAll = function() {
    Data.removeAll().then(function() {
        $state.go('tab.queries');
    });
};

QueryCtrl

function activate() {
  console.log('Activating');
}

嘗試將onEnter從視圖對象內部移至狀態對象,我剛剛遇到了同樣的問題,對我來說似乎正常。

    .state('tab.queries', {
        url: '/queries',
        views: {
            'tab-queries': {
                templateUrl: 'templates/tab-queries.html',
                controller: 'QueryCtrl'
            }
        },
        onEnter: function() {
            activate();
        }
    })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM