我正在尝试渲染子视图。但是它没有显示,下面是一个代码示例。我看到的大多数示例都将整个状态模板放在一个模板中;但是我在不同的模板中有几个视图,它们组成了每个状态模板。
.state({
name: 'search',
url: '/x',
abstract: true,
views: {
'searchBar': {
templateUrl: "template/template.html",
controller: "searchBar"
}
}
})
.state({
name: 'search.final',
url: '^/details',
params: {
Data: "hello World"
},
views: {
'dashb': {
templateUrl: 'template/dashb.html'
},
'sidebar': {
templateUrl: 'template/sidebar.html'
},
}
然后我的index.html如下
<div>
<div class="row">
<div class="col-lg-3">
<div ui-view="searchBar"></div>
<br>
<div ui-view="sidebar"></div>
<br>
</div>
<div class="col-lg-9" ui-view="dashb"></div>
</div>
</div>
我在searchBartemplate中
<ui-view></ui-view>
用于插入子视图,表示sideBar和dashb
在控制器中我有这个:
$state.go("search.final" , {Data:"Byee"})
但是我没有渲染子视图..任何帮助表示赞赏。感谢
答案 0 :(得分:0)
我明白了。我们需要在子视图的视图名称的末尾附加@
。 :)
.state({
name: 'search',
url: '/x',
abstract: true,
views: {
'searchBar': {
templateUrl: "template/template.html",
controller: "searchBar"
}
}
})
.state({
name: 'search.final',
url: '^/details',
params: {
Data: "hello World"
},
views: {
'dashb@': {
templateUrl: 'template/dashb.html'
},
'sidebar@': {
templateUrl: 'template/sidebar.html'
},
}