1. ホーム
  2. javascript

[解決済み] コンポーネント内のリダイレクト Angular 2

2023-06-26 18:44:28

質問

シンプルなメソッドで、最後に別のコンポーネントにリダイレクトさせたいのですが、どうすればよいでしょうか?

export class AddDisplay{
  display: any;

  addPairTo(name: string, pairTo: string){
    this.display = {};
    this.display.name = name;
    this.display.pairTo = pairTo;

  }
}

私がやりたいことは、メソッドの最後で別のコンポーネントにリダイレクトすることです。

export class AddDisplay{
  display: any;

  addPairTo(name: string, pairTo: string){
    this.display = {};
    this.display.name = name;
    this.display.pairTo = pairTo;

    this.redirectTo('foo');
  }
}

Angular 2でこれを実現するにはどうしたらいいですか?

どのように解決するのですか?

まずルーティングを設定する

import {RouteConfig, Router, ROUTER_DIRECTIVES} from 'angular2/router';

@RouteConfig([
  { path: '/addDisplay', component: AddDisplay, as: 'addDisplay' },
  { path: '/<secondComponent>', component: '<secondComponentName>', as: 'secondComponentAs' },
])

で、コンポーネントをインポートして、Router をインジェクトします。

import {Router} from 'angular2/router'

export class AddDisplay {
  constructor(private router: Router)
}

を呼び出すと、最後に

this.router.navigateByUrl('<pathDefinedInRouteConfig>');

または

this.router.navigate(['<aliasInRouteConfig>']);