2017-01-05 18 views
7

Tôi đã biết về các Tuyến đường Dính để gắn lại dữ liệu thành phần trước đó khi điều hướng trở lại cùng một thành phần. Tôi đã triển khai demo bằng cách xem https://www.softwarearchitekt.at/post/2016/12/02/sticky-routes-in-angular-2-3-with-routereusestrategy.aspx blog tại đây https://plnkr.co/edit/KVlRi9PtPeOpvn8bECBi?p=preview ... Có thể có các điều kiện áp dụng để routerreusestrategy chỉ áp dụng cho một số thành phần?Điều kiện áp dụng chiến lược tái sử dụng bộ định tuyến cho các tuyến angular2

+0

Bản sao có thể có của [Cách triển khai RouteReuseStrategy nênDetach cho các tuyến đường cụ thể trong Angular 2] (http://stackoverflow.com/questions/41280471/how-to-implement-routereusestrategy-shoulddetach-for-specific-routes-in-angular) –

Trả lời

11

Bạn cần sửa đổi chỉ nhỏ của dung dịch ban đầu: https://www.softwarearchitekt.at/post/2016/12/02/sticky-routes-in-angular-2-3-with-routereusestrategy.aspx

Thêm shouldDetach cờ để tuyến đường của bạn:

const appRoutes: Routes = [ 
    { path: 'crisis-center', component: CrisisListComponent, data: { shouldDetach: true } }, 
    ... 
]; 

Và sửa đổi shouldDetach phương pháp trong CustomReuseStrategy:

public shouldDetach(route: ActivatedRouteSnapshot): boolean { 
    return route.data && (route.data as any).shouldDetach; 
} 

Đây là của bạn plunker được cập nhật: https://plnkr.co/edit/otbZBuRmGYQXeY6b4Sfp?p=preview

+1

Cảm ơn lời khuyên, điều này đã giúp tôi có được việc sử dụng lại tuyến đường có điều kiện! –

+0

Tôi rất vui vì nó đang làm việc cho bạn, giữ nguyên mã hóa;) –

Các vấn đề liên quan