角UI路由器路由到错误的模板

时间:2019-07-01 05:19:33

标签: angularjs angular-ui-router

在我的主控台上,我试图将用户重定向到子状态。

正在发生的事情是,显示状态模板几秒钟,但之后显示父状态模板。

这是我的代码:

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。 是什么原因造成的?如何预防?

0 个答案:

没有答案