为什么我的Angular状态没有加载?

时间:2016-12-01 11:06:21

标签: javascript angularjs angular-ui-router

在我的应用程序开始时,我有:

$urlRouterProvider.otherwise('/loading');

将控件带到我的loadCtrl。我在这里:

Service.getRoleDetails(config.USER_DETAILS_URL).then(useRoleDetails, handleApiError);

        function useRoleDetails(response) {
            if (response.id === 1) {
                $state.go('home');
            }
            else
                $state.go('master');
        }

        function handleApiError(error) {
            Overlay.applyOverlay(false);
        }

这个servcie调用和回调函数工作正常。 if - 条件得到满足但不知何故状态不会变为home。我的屏幕仅停留在初始页面上。 (这是`/ loading'的模板。)

我从来没有遇到$state这样的问题,我做错了什么?虽然我没有控制台错误

有什么建议吗?

我的配置:

$stateProvider.state('preload', {
            url: '/loading',
            views: {
                "main": {
                    controller: 'landingPageCtrl as lc',
                    templateUrl: 'PP/htmls/landing.tpl.html'
                }
            },
            data: {
                pageTitle: 'PricingPlan'
            }
        })
        .state('home', {
            url: '/pricingplan',
            views: {
                "main": {
                    controller: 'PPCtrl as pp',
                    templateUrl: 'PP/htmls/pricing-position.tpl.html'
                }
            },
            data: {
                pageTitle: 'Pricing Plan'
            }
        })
        .state('master', {
            url: '/master',
            views: {
                "main": {
                    controller: 'masterDataCtrl as mdc',
                    templateUrl: 'PP/htmls/MasterData/masterData.tpl.html'
                }
            },
            data: {
                pageTitle: 'Master Data'
            }
        })
        .state('logout',{
            url: '/loggedOut',
            views: {
                "main": {
                    controller: 'logOutCtrl as lc',
                    templateUrl: 'PP/htmls/logout.tpl.html'
                }
            },
            data: {
                pageTitle: 'Session Expired'
            }
        });


    }

1 个答案:

答案 0 :(得分:0)

我深入挖掘并发现Angular和我的上述实现(在问题中)一切正常。但是,我有一个现有的逻辑 $stateChangeStart事件监听器。国家的变化受到限制。

任何遇到此类问题的人都应该只看一眼$stateChangeStart听众。