2017-09-05 24 views
13

Angular 4'te ActivatedRouteSnapshot ve ActivatedRoute arasındaki fark nedir? ActivatedRouteSnapshot'un ActivatedRoute numaralı bir çocuk olduğu anlaşılıyor, yani ActivatedRouteActivatedRouteSnapshot içeriyor.Angular4 içinde ActivatedRoute ve ActivatedRouteSnapshot arasındaki fark nedir?

Bu arada, bu soruyu yanıtlamak için bir Google araması çalıştırmayı denedim, ancak arama sonuçlarının anlaşılabilir olduğunu bulamadım.

Teşekkür ederiz!

cevap

21

ActivatedRoutecan be reused beri ActivatedRouteSnapshotbir sürümünü ActivatedRoute arasında temsil değişmez bir amacıdır. ActivatedRoute ile aynı özelliklerin tümünü düz değerler olarak gösterirken, ActivatedRoute bunları gözlenebilirler olarak gösterir. Bir yönlendirici bir bileşen yeniden kullanır ve yeni aktive rota oluşturmak etmezse aynı ActivatedRoute için ActivatedRouteSnapshot iki sürümü olacak

export class ActivatedRoute { 
    /** The current snapshot of this route */ 
    snapshot: ActivatedRouteSnapshot; 

: Burada

uygulanmasında yorumdur. Aşağıdaki yönlendirme yapılandırmasını olduğunu varsayalım:
path: /segment1/:id, 
component: AComponent 

Şimdi gidin:

/segment1/1 

Sen 1 olarak activatedRoute.snapshot.params.id yılında param olacak. Sen 2 olarak activatedRoute.snapshot.params.id yılında param olacak

/segment1/2 

: için

Şimdi gidin.

export class AComponent { 
    constructor(r: ActivatedRoute) {  
    r.url.subscribe((u) => { 
     console.log(r.snapshot.params.id); 
    }); 
:

Aşağıdaki uygulayarak bunu görebilirsiniz

İlgili konular