ui-路由器 onEnter() 未从 Ionic 应用程序中的 $state.go() 调用

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'
        }
    }
});

设置Ctrl

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();
        }
    })