Aurelia 在组合视图模型上未调用configureRouter

Aurelia 在组合视图模型上未调用configureRouter,aurelia,Aurelia,使用组合绑定时似乎未调用configureRouter 这是一种观点: <template> <compose view="./ask-banner.html" view-model="./ask-banner"></compose> ... ... 在父级中,按预期调用configureRouter。但在ask-banner.js中,从未调用configureRouter 问题是,我需要一个路由器的引用,以便调用navigate方法 已调用ac

使用组合绑定时似乎未调用configureRouter

这是一种观点:

<template>
    <compose view="./ask-banner.html" view-model="./ask-banner"></compose>
...

...
在父级中,按预期调用configureRouter。但在ask-banner.js中,从未调用configureRouter

问题是,我需要一个路由器的引用,以便调用navigate方法


已调用activate方法,因此似乎也应该调用configureRouter。

我找到了一种不同的方法来获取对路由器的引用:

import {inject, singleton} from 'aurelia-dependency-injection';
import {Router} from 'aurelia-router';
@inject(Router)
@singleton()
export class Ask{
constructor(router)
{
    this.router = router;
}
}

我不建议在组合元素上放置路由器。您的路由器结构应该遵循非常线性的路径,例如,路由器视图模型有一个带有子路由器视图模型的路由,并且合成的性质是非线性的,例如,您已将三个不同的元素合成为一个页面。好的观点@MatthewJamesDavis