В моем основном котроллере я пытаюсь перенаправить пользователя в дочернее состояние.
Что происходит, так это то, что в течение пары секунд отображается шаблон состояния, но после этого - шаблон родительского состояния
Это мой код:
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.В чем причина этого и как ее можно предотвратить?