Angular UI Router направляет к неправильному шаблону - PullRequest
0 голосов
/ 01 июля 2019

В моем основном котроллере я пытаюсь перенаправить пользователя в дочернее состояние.

Что происходит, так это то, что в течение пары секунд отображается шаблон состояния, но после этого - шаблон родительского состояния

Это мой код:

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.В чем причина этого и как ее можно предотвратить?

...