我玩弄新的角度路由器,并想尝试一个用例,我有一个组件和一个嵌套组件。角度新的路由器 - 嵌套组件和路由
下面还有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