TS2304:找不到名称'Router'
我在重定向到Angular 2 Ionic应用程序中的某个页面时遇到了一些问题。我按照下面的例子:https://embed.plnkr.co/?show=preview。然而,我似乎无法得到它的工作,因为我不断收到此错误:“TS2304无法找到名为'路由器”TS2304:找不到名称'Router'
我的IDE显示了错误“路由器”的关键字在构造函数()线12
我的代码:
import {Component} from '@angular/core';
import 'rxjs/Rx';
import {BackandService} from '@backand/angular2-sdk';
import { Router } from '@angular/router';
@Component({
templateUrl: 'user_auth.html',
selector: 'page-user-auth',
})
export class UserAuthPage {
constructor(private backand: BackandService, public router: Router) {
this.backand.user.getUserDetails().then(
(res: any) => {
if (res.data) {
console.log(res.data);
this.router.navigate('/login');
}
},
(err: any) => {
null;
}
);
}
任何想法?
在此先感谢。
编辑:太迟了,我意识到;如果您使用Ionic框架,则应使用Ionic navigation而不是Angular 2路由。这最终帮助我进一步。
问题:
this.router.navigate('/login');
应该
this.router.navigate(['/login']);
为什么这会被低估? @Vivek Doshi是正确的''router.navigate'参数需要一个数组而不是一个字符串。 – snaplemouton
@snaplemouton,谢谢:),不知道谁downvoted这个答案。 –
嗨Vivek,这原来是解决方案的一部分。我试着重新安装(安装最新版本)@ angular/router,并且加上方括号,提供了解决方案:)谢谢! – pieterjanvdp
我想你忘了保存plunker ... –
的如。已经过时。现在您需要使用RouterModule,并使用路由进行配置。在你的根模块中,声明为RouterModule.forRoot(Routes) – digit