Angular 2?のボタンをクリックして簡単なリダイレクトを作成する方法は?
import {Component, OnInit} from 'angular2/core';
import {Router, ROUTER_PROVIDERS} from 'angular2/router'
@Component({
selector: 'loginForm',
templateUrl: 'login.html',
providers: [ROUTER_PROVIDERS]
})
export class LoginComponent implements OnInit {
constructor(private router: Router) { }
ngOnInit() {
this.router.navigate(['./SomewhereElse']);
}
}
Angular2のイベントサポートを活用できます。
@Component({
selector: 'loginForm',
template: `
<div (click)="redirect()">Redirect</div>
`,
providers: [ROUTER_PROVIDERS]
})
export class LoginComponent implements OnInit {
constructor(private router: Router) { }
redirect() {
this.router.navigate(['./SomewhereElse']);
}
}
メソッドパラメータを使用してより動的にします
angularルーターをインポートする
import { Router } from '@angular/router';
クリックイベントでボタンを作成する
<div (click)="redirect(my-page)">My page</div>
Pagenameパラメーターを使用してメソッドを作成する
redirect(pagename: string) {
this.router.navigate(['/'+pagename]);
}
クリックすると、ルーターは正しいページにルーティングするはずです
routerLink
ディレクティブを使用し、a
(anchor)タグの上に配置したと思います
_<a [routerLink]="['./SomewhereElse']">Redirect</a>
_
また、 providers
から_ROUTER_PROVIDERS
_を削除して、bootstrap=依存関係に含めてから、コンポーネントのディレクティブオプションに_ROUTER_DIRECTIVES
_を追加して、HTMLでrouterLink
ディレクティブを使用する必要があります。RouterModule
とそのルートがMain Appモジュールに挿入されていることを確認してください。
window.location.reload();トリックをします