RouterOutlet trong Angular

Về định nghĩa và cách sử dụng router bạn có thể xem link cuối bài, trong bài này mình sẽ chia sẻ thêm về router-outlet. Router-outlet được sử dụng để điều hướng (route) cho các path url trong ứng dụng của bạn. NgModule RouterModule Selectors router-outlet Properties Property Description @Output('activate') activateEvents: EventEmitter<any> @Output('deactivate') deactivateEvents: EventEmitter<any>

Về định nghĩa và cách sử dụng router bạn có thể xem link cuối bài, trong bài này mình sẽ chia sẻ thêm về router-outlet.

Router-outlet được sử dụng để điều hướng (route) cho các path url trong ứng dụng của bạn.
NgModule

RouterModule

Selectors

router-outlet

Properties

Property Description

@Output('activate')
activateEvents: EventEmitter<any>	
    
    
@Output('deactivate')
deactivateEvents: EventEmitter<any>	
    
    
isActivated: boolean	Read-only.
    
    
component: Object	Read-only.
    
    
activatedRoute: ActivatedRoute	Read-only.
    
    
activatedRouteData: Data	Read-only.

Các thành phần trong router-outlet

Template:

outlet #myTemplateVar="outlet"

Mô tả các dùng:

<router-outlet></router-outlet>
<router-outlet name='left'></router-outlet>
<router-outlet name='right'></router-outlet>

Với mỗi router-outlet , nó sẽ emit một active event mỗi khi một component mới được khởi tạo và một deactive event khi nó bị huỷ.

<router-outlet
  (activate)='onActivate($event)'
  (deactivate)='onDeactivate($event)'></router-outlet>

Và để hiểu rõ các thuộc tính của router-outlet, mình sẽ lấy ví dụ sau:

  • Truy cập phương thức / biến của ChildCoponent từ ParentComponent

Ta có một component app root như sau:

@Component({
    selector: 'my-app',
    providers: [],
                  <router-outlet></router-outlet>`
})
export class AppComponent {

    constructor() {

    }
}

ChildComponent:

@Component({
    selector: 'child',
    providers: [],
    templateUrl: `<div>Hello World</div>`
})
export class ChildComponent {

    constructor() {

    }
    my_var: boolean;
    myFunction(){
        console.log('success');
    }

}

Ta sẽ set thuộc tính active trong router-outlet của ParentComponent như sau:

<div class="container">
    <router-outlet (activate)="onActivate($event)"></router-outlet>
  </div>


  onActivate(componentRef){
    console.log(componentRef.my_var);
    console.log(componentRef.myFunction());
  }

Như vậy, thông qua property active của router-outlet ta đã truy cập được các phương thức / biến của thành phần con một cách dễ dàng.
Ngoài ra, còn có các thuộc tính khác được liệt kê như bên dưới.

Methods

ngOnDestroy()

Parameters
There are no parameters.

Returns
void

ngOnDestroy(): void

Parameters
There are no parameters.

Returns
void

ngOnInit()

ngOnInit(): void

Parameters
There are no parameters.

Returns
void

detach()

Được gọi khi RouteReuseStrategy detach subtree.

detach(): ComponentRef<any>

Parameters
There are no parameters.

Returns
ComponentRef<any>

attach()
Được gọi khi RouteReuseStrategy re-attach một subtree đã được detach trước đó.

attach(ref: ComponentRef<any>, activatedRoute: ActivatedRoute)
Parameters
ref ComponentRef
activatedRoute ActivatedRoute

**deactivate() **

deactivate(): void

Parameters

There are no parameters.

Returns
void

activateWith()

activateWith(activatedRoute: ActivatedRoute, resolver: ComponentFactoryResolver)

Parameters

activatedRoute ActivatedRoute

resolver ComponentFactoryResolver

Tham khảo router: https://viblo.asia/p/co-ban-ve-router-trong-angular-2-63vKjn7yK2R

Nguồn: viblo.asia

Bài viết liên quan

WebP là gì? Hướng dẫn cách để chuyển hình ảnh jpg, png qua webp

WebP là gì? WebP là một định dạng ảnh hiện đại, được phát triển bởi Google

Điểm khác biệt giữa IPv4 và IPv6 là gì?

IPv4 và IPv6 là hai phiên bản của hệ thống địa chỉ Giao thức Internet (IP). IP l

Check nameservers của tên miền xem website trỏ đúng chưa

Tìm hiểu cách check nameservers của tên miền để xác định tên miền đó đang dùn

Mình đang dùng Google Domains để check tên miền hàng ngày

Từ khi thông báo dịch vụ Google Domains bỏ mác Beta, mình mới để ý và bắt đầ