web-dev-qa-db-ja.com

アウレリアの現在のルートを取得する

ビューモデル以外のクラス内で現在のルートを取得するには、ルーターを挿入してthis.router.history.fragmentを使用するのがベストプラクティスですか?それともこれはノーノーですか?

16
Jeff G

ルーターを挿入して、現在の命令を取得できます。このような:

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
   }
}
26
Fabio Luz