2015-11-13 14 views
7

Tôi đang sử dụng khung công tác Aurelia. Tôi muốn tìm nạp navigationInstruction thông tin trong tệp ứng dụng (app.ts/app.js) mỗi khi người dùng điều hướng đến tuyến đường/trang mới.Xác định lộ trình hiện tại ở Aurelia

Tôi đã cố gắng tìm nạp thông tin này trong các sự kiện vòng đời (kích hoạt và liên kết) của ứng dụng, nhưng không có thông tin.

Ai cũng có thể giúp tôi giải quyết vấn đề này.

Xin cảm ơn trước.

Trả lời

9

đăng ký chuyển hướng của router "thành công" sự kiện:

import {EventAggregator} from 'aurelia-event-aggregator'; 
import {inject} from 'aurelia-dependency-injection'; 

@inject(EventAggregator) 
export class App { 
    constructor(eventAggregator) { 
    this.eventAggregator = eventAggregator; 
    } 

    navigationSuccess(event) { 
    let instruction = event.instruction;  
    // todo: do something with instruction... 
    } 

    attached() { 
    this.subscription = this.eventAggregator.subscribe(
     'router:navigation:success', 
     this.navigationSuccess.bind(this)); 
    } 

    detached() { 
    this.subscription.dispose(); 
    } 
} 

Dưới đây là một phiên bản hơi khác nhau sử dụng ES7 chức năng ràng buộc và ES6 destructuring:

import {EventAggregator} from 'aurelia-event-aggregator'; 
import {inject} from 'aurelia-dependency-injection'; 

@inject(EventAggregator) 
export class App { 
    constructor(eventAggregator) { 
    this.eventAggregator = eventAggregator; 
    } 

    navigationSuccess({ instruction }) { 
    // todo: do something with instruction... 
    } 

    attached() { 
    this.subscription = this.eventAggregator.subscribe(
     'router:navigation:success', 
     ::this.navigationSuccess); 
    } 

    detached() { 
    this.subscription.dispose(); 
    } 
} 
+0

thứ tốt đối với những người trong chúng ta xây dựng nav bằng tay - cảm ơn bạn – mujimu

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