2017-02-27 38 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