Aurelia.io: how to navigate to route

前提是你 提交于 2019-12-10 10:15:25

问题


I have a router.js file with my configured routes:

routes.js

 export class App {
        configureRouter(config, router) {
        config.title = 'Aurelia';
        config.map([
      {route: ['', `welcome`], name: 'welcome', moduleId: './welcome', nav: true, title:'Welcome'},
      {route: 'http', name: 'http', moduleId: './http', nav: true, title:'HTTPTest'},
      {route: 'users', name: 'users', moduleId: './users', nav: true, title:'Github Users'},
      {route: 'plan', name: 'plan', moduleId:'./dp/plan', nav: true, title:'DPTest'},
      {route: 'user_table', name: 'user_table', moduleId:'./dp/user_table', nav: true, title:'Benutzer'}
    ]);

    this.router = router;
  }
}

I want to call one of these routes (plan) from a function in users.js. Do I have to import {Router} in users.js? Or inject?


回答1:


Either of the following will work

using router.navigateToRoute()

import { Router } from 'aurelia-router';

@inject(Router)
export class UsersViewModel {
  constructor(router) {
    this.router = router;
  }
  doStuff() {
    this.router.navigateToRoute('plan');
  }
}

using native location

export class UsersViewModel {
  doStuff() {
    location.assign('#/users');
  }
}


来源:https://stackoverflow.com/questions/38501404/aurelia-io-how-to-navigate-to-route

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!