2017-06-22 211 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

相關問題