aurelia js中的嵌套路由

aurelia js中的嵌套路由,aurelia,Aurelia,在Aurelia JS中是否有嵌套路由/子路由器的方法 正如我们为angular js提供的ui路由器一样? 这样我们就可以实现以下目标 更新局部视图(仅更新给定事件上的选定部分) 在组件中具有父子关系 TIA是的,是的 多个视图端口 通过在模板中创建多个,可以定义两个或多个受管线影响的不同视图,如下所示: <template> <div class="page-host"> <router-view name="left"></rou

在Aurelia JS中是否有嵌套路由/子路由器的方法
正如我们为angular js提供的ui路由器一样?
这样我们就可以实现以下目标

  • 更新局部视图(仅更新给定事件上的选定部分)
  • 在组件中具有父子关系
TIA是的,是的

多个视图端口

通过在模板中创建多个
,可以定义两个或多个受管线影响的不同视图,如下所示:

<template>
  <div class="page-host">
    <router-view name="left"></router-view>
  </div>
  <div class="page-host">
    <router-view name="right"></router-view>
  </div>
</template>
import {inject} from 'aurelia-framework';
import {Router} from 'aurelia-router';
@inject(Router)
export class SomeParent {
  constructor(router) {
    this.router = router;
  }
}
从家长处访问路由器以影响孩子

有关如何访问路由器以创建父/子组件路由的深入解释,请参阅本文和第一个答案

总之,您可能需要通过将主路由器注入任何需要子路由的父组件来访问主路由器,如下所示:

<template>
  <div class="page-host">
    <router-view name="left"></router-view>
  </div>
  <div class="page-host">
    <router-view name="right"></router-view>
  </div>
</template>
import {inject} from 'aurelia-framework';
import {Router} from 'aurelia-router';
@inject(Router)
export class SomeParent {
  constructor(router) {
    this.router = router;
  }
}
更多示例

您应该在中查看骨架导航示例。这里有一些很好的例子,包括如何进行子路由。

是的,确实如此

多个视图端口

通过在模板中创建多个
,可以定义两个或多个受管线影响的不同视图,如下所示:

<template>
  <div class="page-host">
    <router-view name="left"></router-view>
  </div>
  <div class="page-host">
    <router-view name="right"></router-view>
  </div>
</template>
import {inject} from 'aurelia-framework';
import {Router} from 'aurelia-router';
@inject(Router)
export class SomeParent {
  constructor(router) {
    this.router = router;
  }
}
从家长处访问路由器以影响孩子

有关如何访问路由器以创建父/子组件路由的深入解释,请参阅本文和第一个答案

总之,您可能需要通过将主路由器注入任何需要子路由的父组件来访问主路由器,如下所示:

<template>
  <div class="page-host">
    <router-view name="left"></router-view>
  </div>
  <div class="page-host">
    <router-view name="right"></router-view>
  </div>
</template>
import {inject} from 'aurelia-framework';
import {Router} from 'aurelia-router';
@inject(Router)
export class SomeParent {
  constructor(router) {
    this.router = router;
  }
}
更多示例


您应该在中查看骨架导航示例。有很好的例子,,包括如何进行子路由。

请参见此处以获取答案:请参见此处以获取答案:FWIW嵌套子路由器等不依赖于查看端口,因此我认为为了完整性,最好在顶部添加一个可以使用子路由器的选项,它将按预期工作,而无需任何额外工作。FWIW嵌套子路由器等可以不依赖于查看端口,因此我认为为了完整性,最好在顶部添加一个可以使用子路由器的选项,这样就可以在不需要任何额外工作的情况下按预期工作。