gpt4 book ai didi

javascript - 识别 Aurelia 中的当前路线

转载 作者:数据小太阳 更新时间:2023-10-29 04:34:41 26 4
gpt4 key购买 nike

我正在使用 Aurelia 框架。每次用户导航到新路线/页面时,我都想在应用程序文件 (app.ts/app.js) 中获取 navigationInstruction 信息。

我试图在应用程序的生命周期事件(激活和绑定(bind))中获取此信息,但没有可用信息。

谁能帮我解决这个问题。

提前致谢。

最佳答案

订阅路由器的导航“成功”事件:

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();
}
}

这是一个使用 ES7 函数绑定(bind)和 ES6 解构的稍微不同的版本:

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();
}
}

关于javascript - 识别 Aurelia 中的当前路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33689554/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com