Açısal: Rotaya manuel yönlendirme


91

Yakın zamanda angular.js 1 yerine angular 4 kullanmaya başladım.

Açısal 4'ün temellerini öğrenmek için kahramanlar eğitimini takip ettim ve şu anda "@ angular / router" paketinden angular'ın kendi "RouterModule" unu kullanıyorum.

Uygulamam için bir miktar yetkilendirme uygulamak için başka bir rotaya manuel olarak nasıl yönlendireceğimi bilmek istiyorum, bununla ilgili internette herhangi bir yararlı bilgi bulamıyorum.

Yanıtlar:


233

Açısal yönlendirme: Manuel gezinme

Öncelikle açısal yönlendiriciyi içe aktarmanız gerekir:

import {Router} from "@angular/router"

Ardından bileşen yapıcınıza enjekte edin:

constructor(private router: Router) { }

Ve son olarak .navigate, "yönlendirmeniz" gereken her yerde yöntemi çağırın :

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

Rotanıza aşağıdaki gibi bazı parametreler de ekleyebilirsiniz user/5:

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

Belgeler: Açısal resmi belge


8

Angularjs'de yeniden yönlendirme 4 Örneğin, app.home.html'deki olay için düğme

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

ve home.componant.ts içinde

 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

Açısal Yeniden Yönlendirme manuel olarak: İçe aktarın @angular/router, Enjekte edin ve constructor()ardından arayın this.router.navigate().

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

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

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

1

Bunu dene:

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

1

Sorunuz için yeterince doğru cevaba sahip olabilirsiniz, ancak IDE'nizin sizi uyarması durumunda

Navigate'den dönen sözler dikkate alınmaz

bu uyarıyı görmezden gelebilir veya kullanabilirsiniz this.router.navigate(['/your-path']).then().


1

Component.ts dosyasındaki işlevi kullanarak başka bir sayfaya yönlendirin

componentene.ts:

import {Router} from '@angular/router';
constructor(private router: Router) {}

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

component.html:

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

0

Bu çalışmalı

import { Router } from "@angular/router"

export class YourClass{

   constructor(private router: Router) { }

   YourFunction() {
      this.router.navigate(['/path']);
   }

}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.