我有这样的场景:
<a href="#">Link1</a>
<a href="#">Link2</a>
<div id="child1"></div>
<div id="child2"></div>
我在我的应用中使用ngRoute(标准AngularJS路由器)。
即:我希望不同的链接有不同的视图集。如何使用AngularJS实现这一目标。我知道Angular确实提供了路由,但我在网上看到的任何例子都只适用于单一视图。
我保持这种情况非常简单。实际上它要复杂得多,所以我无法将每个链接的2个视图合并为1个。
答案 0 :(得分:2)
这是一个建议:
$routeProvider.when('/page1', {
templateUrl: 'page1.html',
controller: 'Page1Ctrl'
}).when('/page2', {
templateUrl: 'page2.html',
controller: 'Page2Ctrl'
});
<!-- page1.html -->
<div id="child1" ng-include="'viewA.html'"></div>
<div id="child2" ng-include="'viewB.html'"></div>
<!-- page2.html -->
<div id="child1" ng-include="'viewC.html'"></div>
<div id="child2" ng-include="'viewD.html'"></div>
<a>
标记<a href="#/page1">Link1</a>
<a href="#/page2">Link2</a>
答案 1 :(得分:0)
另一个建议是,您可以使用ui-router
和multiple named views,它易于使用且非常强大。
您可以使用ui-view
这样的
<a href="#" >Link1</a>
<a href="#" >Link2</a>
<div ui-view="child1"></div>
<div ui-view="child2"></div>
在您app.config
中,您可以为每个状态设置要为不同视图加载的模板:
.state('report', {
views: {
'child1': { ... templates and/or controllers ... },
'child2': {}
}