我正在使用ui-router在有角度的应用程序中导航。我在这样的层次结构中使用嵌套状态/视图。
<!-- index.html -->
<h1>Page Title</h1>
<ui-view></ui-view>
<!-- Page1.template.html -->
<h1>Title 1</h1>
<ui-view></ui-view>
<!-- Page2.template.html -->
<h1>Title 2</h1>
<ui-view></ui-view>
<!-- Page3.template.html -->
<h1>Title 3</h1>
<ui-view></ui-view>
结果如下所示:
是否可以使页面看起来像这样,即并排渲染子视图:
是的,有可能。看一下docs-多个命名视图。基本上,您的页面将如下所示:
<body>
<div ui-view="child1"></div>
<div ui-view="child2"></div>
<div ui-view="child3"></div>
</body>
和状态配置
$stateProvider
.state('main',{
views: {
'child1': {
templateUrl: 'child1.html',
controller: 'Child1Ctrl'
},
'child1': {
templateUrl: 'child2.html',
controller: 'Child2Ctrl'
},
'child3': {
templateUrl: 'child3.html',
controller: 'Child3Ctrl'
}
}
});
每个子视图可以具有其自己的配置,与原始状态配置相同。
更新:
如果您希望它们是动态的,即指定要手动渲染的视图,则可以使用这种方法在一些$scope
变量及其ng-repeat
上方指定名称:
.controller('SomeCtrl', function ($scope) {
$scope.views = ['child1', 'child3'];
})
HTML:
<div ng-repeat="view in views">
<div ui-view="{{view}}"></div>
</div>
在此处查看示例:http : //plnkr.co/edit/wVmR6q1UXqhNsF8afpd2?p=preview
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句