在我的主控台上,我试图将用户重定向到子状态。
正在发生的事情是,显示状态模板几秒钟,但之后显示父状态模板。
这是我的代码:
angular.module('app.services',[])
.config(function($stateProvider) {
$stateProvider
.state('tab.services', {
abstract:true,
url:'/services',
views: {
'tab-services':{
template:'<ion-nav-view></ion-nav-view>'
}
}
})
.state('tab.services.index',
{
url:'',
templateUrl:'services.html',
controller:'servicesController',
cache: false
})
.state('tab.services.my_service',{
url:'/service/{id}',
params: {
url: { dynamic: true }
},
templateProvider: function ($stateParams, $templateFactory, myService) {
return myService.getService($stateParams.id).then(function (response) {
return $templateFactory.fromUrl('my_service.html');
})
},
controller:'myServiceController',
resolve: {
service: function(myService, $stateParams, $q){
return myService.getService($stateParams.id).then(function (response) {
if(response.data.data.id) {
return response.data.data;
} else {
return $q.reject();
}
});
}
}
})
我期望的是,在调用$ state.go('tab.services.my_service')时,用户将看到my_service.html,而是短暂显示my_service.html,然后呈现services.html。 是什么原因造成的?如何预防?