Аурелия: не могу найти название маршрута
Я пытаюсь перейти к маршруту следующим образом:
add.js:
import {HttpClient} from "aurelia-http-client";
import $ from "jquery";
import {Router} from "aurelia-router";
const baseURI = "/posts";
export class Add {
constructor() {
this.router = new Router();
}
add() {
let url = this.router.generate("home");
this.router.navigate(url);
}
}
app.js:
configureRouter(config, router) {
this.router = router;
config.map([
{
route: ["", "home"],
moduleId: "./home",
title: "Home",
name: "home",
nav: true
},
{
route: "add",
moduleId: "./add",
title: "Add New Post",
name: "Add",
nav: true
}
]);
}
Я получаю эту ошибку: A route with name 'home' could not be found. Check that name: 'home' was specified in the route's config.
Это потому, что маршрут для дома находится в массиве? Я попытался разделить "" и "домой", но ошибка остается.
1 ответ
Решение
Вы должны ввести маршрутизатор. При этом платформа предоставляет вам тот же экземпляр, который был настроен в app.js
import { inject } from 'aurelia-dependency-injection'; //or aurelia-framework
import {HttpClient} from "aurelia-http-client";
import $ from "jquery";
import {Router} from "aurelia-router";
@inject(Router)
export class Add {
constructor(router) {
this.router = router;
}
add() {
//let url = this.router.generate("home");
this.router.navigateToRoute("home");
}
}