2017-06-22 183 views
1

我在重定向到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路由。这最终帮助我进一步。

+0

我想你忘了保存plunker ... –

+0

的如。已经过时。现在您需要使用RouterModule,并使用路由进行配置。在你的根模块中,声明为RouterModule.forRoot(Routes) – digit

回答

0

问题:

this.router.navigate('/login'); 

应该

this.router.navigate(['/login']); 
+0

为什么这会被低估? @Vivek Doshi是正确的''router.navigate'参数需要一个数组而不是一个字符串。 – snaplemouton

+0

@snaplemouton,谢谢:),不知道谁downvoted这个答案。 –

+0

嗨Vivek,这原来是解决方案的一部分。我试着重新安装(安装最新版本)@ angular/router,并且加上方括号,提供了解决方案:)谢谢! – pieterjanvdp

相关问题