Angular UI Router:状态转换父子

时间:2014-02-11 17:56:44

标签: javascript angularjs parent-child angular-ui-router

.state('add', {
    parent: 'home',
    url:    'add/',
    views:  {
        'pop':  {
            templateUrl:    '/views/nav.html'
        }
    },
});

从父状态'home'到'home.add'的转换不会将模板'/views/nav.html'加载到目标视图('pop')。

其他一切都很好。这个问题似乎与儿童国家有关。

我已经尝试过这样:

.state('home.add', {
    url:    'add/',
    views:  {
        'pop':  {
            templateUrl:    '/views/nav.html'
        }
    },
});

不起作用。 (在这种情况下,我将ui-sref =“add”改为ui-sref =“home.add”)。

这两个示例都将URL更改为状态URL,但似乎不在状态之间转换,也不会从新状态呈现任何视图(如果它具有父级)。

谢谢。

@citizenslave解决了我的问题,谢谢!

.state('add', {
    parent: 'home',
    url:    'add/',
    views:  {
        'pop@':  {
            templateUrl:    '/views/nav.html'
        }
    },
});

1 个答案:

答案 0 :(得分:1)

来自家庭状态的模板需要ui-view='pop'来插入子状态模板。如果没有,并且您正在使用本地状态的'pop'视图,则必须在适当的状态下解决它。您可以使用'pop@home'绝对引用它。 UI-Router Wiki