在我的 Ionic 应用中使用ui-router的$state.go()
时,不会调用onEnter
方法。
州将从tab.settings
过渡到tab.queries
。国家转型很好。如何从onEnter
电话中调用$state.go()
方法?输入子视图时是否会调用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');
}
答案 0 :(得分:4)
尝试将onEnter从视图对象中移动到一个级别到状态对象,我刚遇到同样的问题,它对我来说似乎没问题。
.state('tab.queries', {
url: '/queries',
views: {
'tab-queries': {
templateUrl: 'templates/tab-queries.html',
controller: 'QueryCtrl'
}
},
onEnter: function() {
activate();
}
})