我玩弄新的角度路由器,並想嘗試一個用例,我有一個組件和一個嵌套組件。角度新的路由器 - 嵌套組件和路由
下面還有JavaScript代碼我寫來定義兩個組件和路線:
angular.module('app', ['ngNewRouter'])
.controller('AppController', function ($router) {
$router.config([
{
path: '/parent',
component: 'parent'
}
]);
})
.controller('ParentController', function ($router) {
this.name = 'Parent component';
$router.config([
{
path: '/child',
component: 'child'
}
]);
})
.controller('ChildController', function() {
this.name = 'Child component';
})
.config(function ($componentLoaderProvider) {
$componentLoaderProvider.setTemplateMapping(function (compName) {
return compName + '.html';
});
});
和HTML部分:
<!-- index.html -->
<body ng-controller="AppController as app">
<a ng-link="parent">Go to parent</a>
<div ng-viewport></div>
</body>
<!-- parent.html -->
{{ parent.name }}<br/>
<a ng-link="child">Show child</a>
<div ng-viewport></div>
<!-- child.html -->
{{ child.name }}
下面是一個包含上面的代碼Plunker:http://plnkr.co/edit/yWCFgXQI491EYvIldjyR
基於此代碼,我有以下問題/問題:
- 如果我進入最低級別(#/父/子),然後點擊刷新,父組件和子組件不再顯示。即使URL仍然相同,路由也不會恢復。我是否需要轉發或者做些什麼來恢復頁面的狀態?這是能夠爲URL添加書籤的非常基本的功能。
- 如果我到最低級別(#/父/子),然後點擊轉到父級鏈接,該URL被正確設置爲#/ parent但子組件仍然可見。
這個問題可能是相關的:https://github.com/angular/router/issues/222 – wemu
一些更多的討論是在https://github.com/angular/router/issues/117以及 – wemu
我也在GitHub上打開了一個問題:https://github.com/angular/router/issues/334 – Alain