2
我想从头开始构建一个非常简单的使用ui路由器的角度应用程序。
每一页都将具有相同的外观,并且将具有以下4个部分(垂直,从上到下):多个命名的视图不显示
- 报头(通用于所有页面)
- 水平菜单(通用于所有页面)
- 内容(这是会改变的唯一内容)
- 尾(通用于所有页面)
我index.html
有在<body>
标签内的。
我也有一个简单的HTML 文件(portal.html
),其中包含每个页面的结构:
<div ui-view="header"></div>
<div ui-view="menu"></div>
<div ui-view="content"></div>
<div ui-view="footer"></div>
我已经创建了一个父状态,在这里我设置为每个页面的共同部分:
$stateProvider
.state('portal', {
url: '/portal',
templateUrl: 'app/main/portal.html',
views: {
header: {
templateUrl: 'app/main/section/header.html'
},
menu: {
templateUrl: 'app/main/section/menu.html'
},
footer: {
templateUrl: 'app/main/section/footer.html'
}
}
});
而有些孩子的状态(每一个菜单选项 - 网页),在这里我设置变量内容的每一页:
$stateProvider
.state('portal.home', {
url: '/home',
views: {
'[email protected]': {
controller: 'HomeCtrl as homeVM',
templateUrl: 'app/portal/home.html'
}
},
resolve: { /* whatever */ }
})
// ... and so on ...
.state('portal.contactUs', {
url: '/contact-us',
views: {
'[email protected]': {
controller: 'ContactUsCtrl as contactUsVM',
templateUrl: 'app/portal/contactUs.html'
}
},
resolve: { /* whatever */ }
});
但是这不会在屏幕上显示任何东西...我在这里错过了什么吗?
我一直在研究一点点,尝试不同的东西,最近想通了,什么可能导致麻烦的是在传递到状态配置对象的'views'财产'$ stateProvider.state()'。 我想这样做,以避免在每个孩子状态下设置那些常见的'N'次... – charliebrownie