Angular ui-router嵌套状态 - 不能指定父级

时间:2016-09-17 12:22:33

标签: angularjs angular-ui-router state

我有以下状态声明(angular v1.5.5):

$stateProvider
    .state('appPublic', {
        abstract: true,
        data: { restricted : false }
    })
    .state('home', {
        url: '/',
        parent: 'appPublic',
        templateUrl: 'app/views/main.html',
        controller: 'mainCtrl'
    });

当我打开我的网站时,我看不到主要的html内容(home状态)。但是,当我删除parent: 'appPublic'声明时 - 它就可以了。那么,为什么我不能指定州的父母呢?

3 个答案:

答案 0 :(得分:2)

每个父级必须为其子提供一个视图目标(如果使用未命名的视图,即父级不会被绝对视图命名跳过 - Angularjs ui-router not reaching child controller。所以这应该有用

.state('appPublic', {
     abstract: true,
     data: { restricted : false },
     template: '<div ui-view=""></div'
 })

现在,子视图(未命名视图)将被放置在ui-view目标中,在父模板中声明

答案 1 :(得分:1)

试试这个:

 $routeProvider.when('/userLogin',
                            {
                                templateUrl: 'WebrtcLogin.html',
                                controller: 'UserLoginController'
                            })

答案 2 :(得分:0)

好吧,我需要在我的抽象状态中包含template: '<ui-view/>'。答案在这里https://stackoverflow.com/a/33181762/106616