2017-02-27 39 views
0

我是新的angularjs2和我嘗試導航路線,但我復活「29:20造成的:this._router.navigate是不是一個函數」angularjs2 29:20造成︰this._router.navigate是不是一個函數

可以像這樣的代碼

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

您想使用Router,不ActivatedRoute導航。

import { Router } from '@angular/router' 

... 

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

... 

更多信息請參見官方docs

路由器:

[...]從一個組件管理瀏覽到下一個。

ActivatedRoute:

被提供給一個包含路線 特定信息,例如路由參數,靜態數據的每個路由組分A的服務,解決 數據,全球查詢參數和全局片段。

+0

感謝您給予回覆。 是否需要使用路由器? – Tester

+0

@test,是的,如果你想從你的代碼內部導航,'Router'是要走的路:) –

+0

這對我有用。感謝您提供解決方案 – Tester