Как получить объект Router в Angular без инъекции? - PullRequest
0 голосов
/ 21 января 2019

В angular я хочу иметь экземпляр Router (из @ angular / Router), но он хочет много параметров для своего конструктора.Я не знаю этих параметров.Можно ли получить экземпляр без инъекций и как?

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Вы можете ввести угловой Injector и получить Router:

constructor(private injector: Injector) {
    this.router = injector.get(Router);
}
0 голосов
/ 21 января 2019

Вам не нужны никакие параметры для экземпляра Router. Я думаю, что вы как-то не правильно вводите. Вот как вы это делаете:

import { Component } from '@angular/core';
import {Router} from "@angular/router";

@Component({
  selector: 'nav-default-nav',
  templateUrl: './default-nav.component.html',
  styleUrls: ['./default-nav.component.css']
})
export class DefaultNavComponent {

  constructor(private router: Router) {
  }

}

Затем вы можете ссылаться на Router в машинописном тексте с помощью this.router, а в своем HTML-коде просто с помощью router

...