Tôi đang phát xung quanh với bộ định tuyến góc mới và muốn thử sử dụng vỏ máy có thành phần và thành phần lồng nhau.Bộ định tuyến mới góc - Các thành phần và định tuyến lồng nhau
Dưới đây có mã JavaScript tôi đã viết để xác định hai thành phần và các tuyến đường:
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';
});
});
Và phần 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 }}
Dưới đây là một Plunker chứa đoạn code trên: http://plnkr.co/edit/yWCFgXQI491EYvIldjyR
Dựa trên mã này, tôi có các câu hỏi/vấn đề sau:
- Nếu tôi đi đến cấp độ thấp nhất (#/parent/child) và sau đó nhấn làm mới, các thành phần phụ huynh và con không được hiển thị nữa. Tuyến đường không được khôi phục mặc dù URL vẫn giống nhau. Tôi có cần phải đổi hướng hoặc làm điều gì đó để khôi phục trạng thái của trang không? Đây là một tính năng rất cơ bản để có thể đánh dấu các URL.
- Nếu tôi đi đến cấp độ thấp nhất (#/parent/child) và sau đó nhấp vào liên kết Tới liên kết mẹ, URL được đặt chính xác thành #/parent nhưng thành phần con vẫn hiển thị.
vấn đề này có thể liên quan: https://github.com/angular/router/issues/222 – wemu
một số cuộc thảo luận khác đang diễn ra tại https://github.com/angular/router/issues/117 cũng như – wemu
Tôi cũng đã mở một vấn đề trên GitHub: https://github.com/angular/router/issues/334 – Alain