13
Để nhận tuyến đường hiện tại trong một lớp không có dạng xem, cách tốt nhất là tiêm Bộ định tuyến và sử dụng this.router.history.fragment? Hay đây không phải là không?Nhận tuyến đường hiện tại ở Aurelia
Để nhận tuyến đường hiện tại trong một lớp không có dạng xem, cách tốt nhất là tiêm Bộ định tuyến và sử dụng this.router.history.fragment? Hay đây không phải là không?Nhận tuyến đường hiện tại ở Aurelia
Bạn có thể tiêm bộ định tuyến và nhận hướng dẫn hiện tại. Như thế này:
import { inject } from 'aurelia-dependency-injection'; //or framework
import { Router } from 'aurelia-router';
@inject(Router)
export class MyClass {
constructor(router) {
this.router = router;
}
getRoute() {
return this.router.currentInstruction.config.name; //name of the route
//return this.router.currentInstruction.config.moduleId; //moduleId of the route
}
}
Hãy lưu ý rằng 'currentInstruction' vẫn là' null' trong hàm tạo, vì vậy nếu bạn muốn sử dụng nó để ràng buộc, bạn có thể lấy nó trong phương thức 'created' (xem thêm [component vòng đời] (http://aurelia.io/hub.html#/doc/article/aurelia/framework/latest/creating-components/3) –
Tôi nhận được dữ liệu của tuyến đường trước đây, bất kỳ ý tưởng nào tại sao ??? – IngoB
Có lẽ vì chế độ xem chưa thay đổi Kiểm tra xem bạn có chức năng 'canDeactivate' là –