2016-09-07 38 views
8

Ví dụ nếu tôi đã theo tổ chức tuyến đường:góc 2 tuyến đường lồng nhau quyết tâm thực hiện

const appRoutes: Routes = [ 
    { 
     path: "", 
     component: AppComponent, 
     resolve: { 
      app: AppResolver 
     }, 
     children: [ 
      { 
       path: "", 
       component: NestedComponent, 
       resolve: { 
        subscribers: NestedResolver 
       } 
      } 
     ] 
    } 
]; 

và phân giải sau:

export class AppResolver implements Resolve<any> { 
    constructor(private appService: AppService) {} 
    resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<any> { 
     return this.appService.getAppData(); 
    } 
} 
export class NestedResolver implements Resolve<any> { 
    constructor(private nestedService: NestedService) {} 
    resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<any> { 
     console.log(route.parent.data); //when this is executed route.parent.data is empty :(
     return this.nestedService.getNestedData(); 
    } 
} 

Sau khi ứng dụng bootstraping NestedResolver và AppResolver sẽ thực hiện đầu tiên và thực hiện t người thừa kế yêu cầu song song.

Chúng tôi có thể thay đổi mã và triển khai NestedResolver chờ AppResolver giải quyết và có quyền truy cập vào dữ liệu được giải quyết của AppResolver không?

góc 2 RC6, router góc 3.0.0-rc.2

+1

Bạn có thể tìm thấy câu trả lời cho điều này không? –

Trả lời

3

Tôi biết câu hỏi này là khá cũ nhưng chỉ trong trường hợp ai đó vấp ngã khi nó (như tôi).

Đây là lỗi đã biết và lỗi này đã được khắc phục. Chỉ cần cập nhật phiên bản bộ định tuyến của bạn lên một cái gì đó cao hơn hoặc bằng 2.1.0 và bạn nên làm tốt. Để tham khảo ở đây, có liên quan issue on githubassociated fix

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