【发布时间】:2015-02-12 10:19:03
【问题描述】:
我想在所有模块中使用 stateprovider 视图模板..
所以,在 index.html 我有这个:
<div ui-view="nav"></div>
<div ui-view></div>
<div ui-view="footer"></div>
那么我的配置是这样的:
$urlRouterProvider.otherwise('/');
$stateProvider.
state("home",
{
url: "/",
views: {
"": {
templateUrl: "main.html"
},
"nav": {
templateUrl: "modules/nav/nav.html"
},
"footer": {
templateUrl: "modules/footer/footer.html"
}
}
});
这对于根和默认路由非常有效,但是如果我导航到 localhost:8000/page1 例如,导航和页脚在此配置中不可见:
$stateProvider.
state("page1",
{
url: "/page1",
views: {
"": {
templateUrl: "modules/page1/page1.html"
}
}
});
当我将带有模板的导航和页脚视图添加到配置中时,它当然可以工作。但是我不想将这些相同的视图和 templateUrls 添加到我的所有页面和模块中。我可以以某种方式定义它在我在主配置中为默认路由定义的任何地方都有效吗?
还是我必须使用 ng-include?因为使用 ng-include 可以正常工作,但我认为使用 ui-view 会更好:)
有人有解决办法吗?
非常感谢
【问题讨论】:
标签: angularjs angular-ui-router angular-ui