角-UI-路由器视图和控制器升级到角1.3后不加载(angular-ui-router views

2019-10-21 06:09发布

我做了更新,以角1.3我不能达到控制器和意见后,他们根本不会加载。

在我的根的作品完美的状态,这是我的app.js

$stateProvider.state("root",
    {
        url: '',
        abstract: true,
        views: {
            'footer@': {
                templateUrl: "/partial/footer/footer.html",

            },
            'header@': {
                templateUrl: "/partial/header/header.html",
            }
        }
    }).state('root.home', {
            url: '/index',
            views: {
                'container@': {
                    templateUrl: '/partial/index/index.html',
                    controller: 'IndexCtrl'
                }
            }
        }
    ).state('root.welcome', {
        url: '/index/:status',
        views: {
            'container@': {
                templateUrl: '/partial/index/index.html',
                controller: 'IndexCtrl'
            }
        }
    });

一个也是我的配置:

$urlRouterProvider.otherwise('index');
$locationProvider.hashPrefix('!');
$locationProvider.html5Mode({ enabled: false });

通过做stage.go后,甚至直接输入网址, 我不能在这些国家达成任何路线

$stateProvider.state("candidate",
    {
        url: '',
        abstract: true,
        views: {
            'footer@': {
                templateUrl: "/partial/footer/footer.html"
             },
            'header@': {
                templateUrl: "/user/partial/user.header/user.header.html",
            },
            'sideBar@': {
                templateUrl: '/user/partial/user.sidebar/user.sidebar.html',
                controller: 'SidebarCtrl',
                resolve: {
                    user: 'currentUser'
                }
            },
            'navBar@': {
                templateUrl: '/user/partial/navbar/navbar.html'
            }
        }
    }).state('candidate.dashboard',
    {
        url: '/dashboard',
        views: {
            'container@': {
                templateUrl: '/user/partial/user.dashboard/user.dashboard.html',
                controller: 'DashboardCtrl',
                resolve: {
                    dashboardinfo: function ($resource, tracker) {
                        var resourceGet = $resource('/user/dashboard');
                        var promise = resourceGet.get().$promise;
                        tracker.addPromise(promise);
                        return promise;
                    }
                }
            }
        }
    })

我花了几个小时试图弄清楚这一点没有任何的运气,也许这只是一个小细节我错过,任何意见会更受欢迎。

PS:我使用v0.2.12-PRE1

Answer 1:

我试图复制的问题,在上面提到的这个工作plunker 。 所有的代码几乎是不变的,我只是用定制版UI-Router 。 原因是这样的报道和已知的bug:

  • 不可能具有角1.3.0-rc.3#1397来禁用html5Mode (小举:)

由于: angular/angular.js@dc3de7f
所述html5mode检查在urlRouter.js [线383]不再正确。 因此它是不可能禁用html5mode。
速战速决可能是:

var isHtml5 = $locationProvider.html5Mode();
if (angular.isObject(isHtml5)) {
  isHtml5 = isHtml5.enabled;
}

而这(上面的代码)是我所做的更改 。 没有其他的。 所有的代码,然后开始工作......

还要检查这个答案

  • UI-路由器不产生在角度正确href属性

对于克里斯T链接到固定的版本...



Answer 2:

事实证明,决心方法不灵了,我采用了棱角分明的诺言跟踪器

 var resourceGet = $resource('/user/dashboard');
 var promise = resourceGet.get().$promise;
 tracker.addPromise(promise); <-- fails here
 return promise;

这似乎是资源和承诺有重大更改,我的实可能被弃用。



文章来源: angular-ui-router views and controllers are not loading after upgrading to angular 1.3