1
私はAppとAuthという2つのクラスを持っています。私のnavはグローバルリソースです。親ルータの値を持つ子ルータ内でnavをレンダリングするにはどうすればよいですか?私の英語のために申し訳ありません。感謝:)aurelia子ルータレンダリング親ルータ設定付き
export class App {
configureRouter(config, router) {
config.options.pushState = true;
config.options.root = '/'
config.map([
{ route: '', name: 'home', moduleId: './modules/home/home', nav: true, title: 'Home'},
{ route: 'auth', name: 'auth', moduleId: './modules/auth/auth', nav: true, title: 'Auth'}
]);
config.mapUnknownRoutes({moduleId: 'errors/not-found'});
this.router = router;
}
}
export class Auth{
configureRouter(config, router) {
config.map([
{ route: '', redirect: 'login'},
{ route: 'login', name: 'login', moduleId: './login', title: 'Вход' },
{ route: 'register', name: 'register', moduleId: './register', title: 'Регистрация' },
]);
}
}
マイヘッダコンポーネントビューは次のとおりです。
<li md-waves repeat.for="row of router.navigation" class="${row.isActive ? 'active' : ''}">
<a href.bind="row.href">${row.title}</a>
</li>
マイヘッダ・コンポーネントのクラスがある:
import {inject} from 'aurelia-framework';
import {HttpClient, json} from 'aurelia-fetch-client';
import { Router } from "aurelia-router";
@inject(HttpClient, Router)
export class HeaderComponent {
categories = [];
constructor(http, router) {
http
.fetch('categories', {
method: 'get'
})
.then(response => response.json())
.then(data => {
this.categories = data;
})
.catch(error => {
alert.log('Error!');
});
this.router = router;
}
}