2016-12-30 28 views
6

Tôi dường như không thể điều hướng giữa các tuyến đường dành cho trẻ em. tổng quanĐiều hướng giữa các tuyến đường trẻ em Góc 2

Router:

path: 'parent', component: parentComponent, 
     children: [ 
      { path: '', redirectTo: 'child1', pathMatch: 'full' }, 
      { path: 'child1', component: child1Component }, 
      { path: 'child2', component: child2Component }, 
      { path: 'new/:type', component: child3Component }, 

      { path: '**', component: PageNotFoundComponent } 
     ] 

tôi trong thành phần child1 cố gắng để di chuyển đến các loại đường/mới như vậy:

this._router.navigate(['new', objType], { relativeTo: this._route }); 

Nhưng tôi cứ bị Lỗi: Không thể phù hợp với bất kỳ tuyến đường . Phân đoạn URL: 'mới/nội dung'.

Nếu tôi chèn url theo cách thủ công, nó hoạt động tốt.

Trợ giúp sẽ được đánh giá cao, cảm ơn!

Trả lời

11

Bạn có thể sử dụng ../

this._router.navigate(['../new', objType], { relativeTo: this._route }); 
+0

Điều này hoạt động, cảm ơn bạn !. Lý do tôi gặp phải rất nhiều vấn đề là vì tôi đang sử dụng thao tác điều hướng trong một dịch vụ chứ không phải chính thành phần đó. –

+1

Tôi hiểu. Route relativeTo không phải là quá dễ dàng để có được bên trong một dịch vụ. –

3

Khi bạn sử dụng relativeTo và sau đó cố gắng để di chuyển, bạn nên đặt trong đường dẫn tương đối , không chỉ toàn bộ một từ cha mẹ quan điểm. Trong ví dụ của bạn nó nên được như thế hơn:

this._router.navigate([ '../', objType ], { relativeTo: this._route }); 
4
this.router.navigate(['../../new'], { relativeTo: this._route }) 

Hoặc

this.router.navigate(['/parent/new']) 

Hoặc với thẻ neo:

<a [routerLink]=" ['../../new'] "> 
     Go to new 
</a> 

Hoặc:

<a [routerLink]=" ['/parent/new'] "> 
     Go to new 
</a> 
+0

Không nên bắt đầu lần 2 bằng '/'. Mặc dù nó đòi hỏi 'relativeTo' được coi là một đường dẫn tương đối, tôi sẽ thêm tiền tố cho đường dẫn với'/'để làm cho nó rõ ràng hơn. –

+1

@ GünterZöchbauer, nó hoạt động mà không có/là tốt, nhưng để rõ ràng hơn, tôi đã thêm dấu gạch chéo – Milad

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