父路线不包含任何视图。我将子路由放在父级中以共享其名称,以便该网址变为.../sites/site1
或.../sites/site2
$stateProvider
.state('sites', {
url: '/sites',
abstract: true
})
.state('sites.site1', {
url: '/site1',
templateUrl: 'templates/site1.html'
})
.state('sites.site2', {
url: '/site2',
templateUrl: 'templates/site2.html'
})
// ...
// Other routes
但是当我去的时候,这似乎不起作用:
<a ui-sref="sites.site1">Go to first site</a>
<a ui-sref="sites.site2">Go to second site</a>
没有出现任何东西。 (其他正常路线工作正常)
答案 0 :(得分:1)
父母必须有一个儿童目标:
.state('sites', {
url: '/sites',
abstract: true,
// THIS line is essential,
// 1) it will inject the parent template into root
// (index.html) ui-view=""
// 2) and will also create a target for a child view
template: '<div ui-view=""></div>',
})
原因是:子状态正在使用隐式视图命名,期望父级将具有一些未命名的目标 ui-view=""