我正在尝试使用 ui-router 使用嵌套命名视图来实现一个非常简单的示例,但我无法让它工作。如果有人可以查看这个 jsFiddle - http://jsfiddle.net/thardy/eD3MU/ - 并告诉我我做错了什么,我将不胜感激。
基本思想是这样的: - 我的 index.html 有一个 ui-view - 插入的模板有两个名为 ui-views - 我正在尝试设置配置以使用模板填充这两个 ui-view我无法让它工作
这是小提琴的核心(模板中的尖括号替换为[]):
$stateProvider
.state('test', {
url: '/test',
views: {
'main': {
template: '[h1]Hello!!![/h1]' +
'[div ui-view="view1"][/div]' +
'[div ui-view="view2"][/div]'
}
}
})
.state('test.subs', {
url: '',
views: {
'view1': {
template: "Im View1"
},
'view2': {
template: "Im View2"
}
}
});
我已经调整了几个小时(尝试绝对名称等),我快要发疯了。根据文档(至少对我来说)看起来不错,但是没有任何简单的示例,而且我一定遗漏了一些明显的东西。
更新 通过从测试状态中删除 url 并将 url: '' 添加到 test.subs 状态,它可以工作。但是添加任何 url 来测试状态会导致它再次失败。在我的现实世界场景中,这些状态都不是根,并且在父状态中根本没有 url 会导致事情无法正常工作。这就像那个状态没有被激活或什么的。根据文档,在 sub 中有 url: '' 应该会导致它与它的父状态一起被激活,但这不是正在发生的事情。
更新 - 任何想看的人的解决方案 - http://jsfiddle.net/thardy/eD3MU/