2017-02-27 7 views
0

私はangularjs2で新しくルートを移動しようとしましたが、 "29:20原因:this._router.navigateは関数ではありません"angularjs2 29:20原因:this._router.navigateは関数ではありません

は、あなたがナビゲートするRouter、ないActivatedRouteを使用することを想定している

このような
import {Component} from '@angular/core'; 
import { Http } from '@angular/http'; 
import { ActivatedRoute } from '@angular/router'; 
import 'rxjs/add/operator/map'; 

@Component({ 
selector: 'app-user', 
templateUrl: `app/user/user.component.html` 
}) 
export class UserComponent { 
constructor(private _http: Http, private _router: ActivatedRoute) { 
} 

edit() { 
this._router.navigate(['form']); 
} 
}; 

答えて

1

をコードすることができます。

[...]と次のコンポーネントからのナビゲーションを管理します:

import { Router } from '@angular/router' 

... 

constructor(private _http: Http, private _router: Router) {} 

... 

は、より多くの情報

ルータの公式docsを参照してください。

ActivatedRoute:

そのようなルートパラメータ、静的データとして経路 特定の情報が含まれている各ルート要素に提供されるサービス、 データ、グローバルクエリparamsは、グローバル断片を解決。

+0

回答ありがとうございます。 ルータを使用する必要がありますか? – Tester

+0

@test、はい、あなたのコードの中からナビゲートしたいなら、 'Router'は行く方法です:) –

+0

これは私のために働いています。解決策をくれてありがとう – Tester

関連する問題