Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting the current route in Aurelia

Tags:

aurelia

To get the current route within a non-view-model class, would the best practice be to inject the Router and use this.router.history.fragment? Or is this a no-no?

like image 861
Jeff G Avatar asked Jun 28 '16 19:06

Jeff G


1 Answers

You could inject the router and get the current instruction. Like this:

import { inject } from 'aurelia-dependency-injection'; //or framework
import { Router } from 'aurelia-router';

@inject(Router)
export class MyClass {

   constructor(router) {
      this.router = router;
   }

   getRoute() {
     return this.router.currentInstruction.config.name; //name of the route
     //return this.router.currentInstruction.config.moduleId; //moduleId of the route
   }
}
like image 176
Fabio Luz Avatar answered Nov 06 '22 08:11

Fabio Luz