Угловое 4+: ручное перенаправление на маршрут

Недавно я начал использовать угловой 4 вместо angular.js 1.

Я следил за учебниками по героям, чтобы узнать об основных принципах углового 4, и в настоящее время я использую угловой собственный "RouterModule" из пакета "@angular/router".

Чтобы реализовать некоторую авторизацию для моего приложения, я хотел бы знать, как вручную перенаправить на другой маршрут, я не могу найти какую-либо полезную информацию об этом в Интернете.

Ответы

Ответ 1

Угловая маршрутизация: ручная навигация

Для начала нужно импортировать угловой роутер:

import {Router} from "@angular/router"

Затем добавьте его в конструктор компонента:

constructor(private router: Router) { }

И наконец позвони. Метод .navigate везде, где вам нужно "перенаправить":

this.router.navigate(['/your-path'])

Вы также можете установить некоторые параметры вашего маршрута, например user/5:

this.router.navigate(['/user', 5])

Документация: угловая официальная документация

Ответ 2

Перенаправление в angularjs 4 Кнопка для события, например: app.home.html

<input type="button" value="clear" (click)="onSubmit()"/>

и в home.componant.ts

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

 @Component({
   selector: 'app-root',
   templateUrl: './app.home.html',
 })

 export class HomeComponant {
   title = 'Home';
   constructor(
     private router: Router,
    ) {}

  onSubmit() {
    this.router.navigate(['/doctor'])
 }
 }

Ответ 3

Вам следует вводить Router в свой конструктор следующим образом;

constructor(private router: Router) { }

то вы можете сделать это в любом месте;

this.router.navigate(['/product-list']);

Ответ 4

Угловое перенаправление вручную: Импорт @angular/router, Inject in constructor() затем вызовите this.router.navigate().

import {Router} from '@angular/router';
... 
...

constructor(private router: Router) {
  ...
}

onSubmit() {
  ...
  this.router.navigate(['/profile']); 
}

Ответ 5

Попробуй это:

constructor(  public router: Router,) {
  this.route.params.subscribe(params => this._onRouteGetParams(params));
}
this.router.navigate(['otherRoute']);

Ответ 6

Это должно работать

this.router.navigate([ '/путь']);

Ответ 7

Перенаправить на другую страницу, используя функцию в файле component.ts ##

   import {Router} from '@angular/router';

   componene.ts-
   ------------------------------------------------------------------------  
   OnClickFunction()
   {
        this.router.navigate(['/home']);
   }

  component.html-
  ----------------------------------------------------------------------------------- 

     <div class="col-3">                  
         <button (click)="OnClickFunction()" class="btn btn-secondary btn-custom mr- 
          3">No</button>
    </div>   

Ответ 8

import {Router} from "@angular/router"

Затем вставьте его в конструктор компонента:

constructor(private router: Router) { }

прямой "редирект":

this.router.navigate(['/your-path'])

для пользователя /5:

this.router.navigate(['/user', 5])