2017-03-17 37 views
0

我一直在嘗試將路由設置爲正在開發中的我的ionic2應用。我對路由的概念完全陌生。到目前爲止,我所做的任何事情都是基於NavCtrl.push()或NavCtrl.setRoot()。我想知道在ionic2中路由是否可行。Angular2,ionic2:如何在angular2 final中實現路由?

但是從官方網站上下面的代碼:https://angular.io/docs/ts/latest/guide/router.html。運行應用程序時出現了一些錯誤。這是我爲路由創建的app.routing.ts文件。

import { Routes, RouterModule } from '@angular/router'; 
import { Contest } from '../pages/contest/contest'; 


export const appRoute: Routes = [ 
    { path: '', redirectTo: 'Contest', pathMatch: 'full' }, 
     { path: 'Contest', component: Contest} 
] 

export const appRouting = [ 
    RouterModule.forRoot(appRoute) 
]; 

我將這個語句導入到app.component.ts並注入到構造函數中。

import { Router } from '@angular/router'; 

constructor(public platform: Platform,protected _router: Router) { 
this.initializeApp(); 

在app.module.ts我輸入下面的語句,也可以設置他們在裏面進口@ngModule

import { RouterModule, Routes } from '@angular/router'; 
import {appRouting} from './app.routing'; 

imports: [appRouting, 
IonicModule.forRoot(MyApp) 

]

我把<router-outlet></router-outlet> 在我的應用程序。 html文件。在我嘗試運行時執行所有這些操作時出現以下錯誤。

運行時錯誤: WEBPACK_IMPORTED_MODULE_0__angular_core .Version是不是構造

打字稿錯誤: 模塊 ' 「C:/用戶/ Impromptu_coder/DEM/node_modules/@角/型芯/索引」' 不具有出口NgProbeToken

Typescript Error: Module'「C:/ Users/Impromptu_coder/dem/node_modules/@ angular/core/index」'沒有導出成員'Version'。

我已經通過互聯網上關於ionic2和angular2中的路由的許多來源,但他們大多數似乎不推薦使用。以下是當前版本

我使用:

Ionic2:V2.2.1

NPM:3.10.10

科爾多瓦:6.5.0

Angular2:最終版本RC5

請告訴我什麼是在我的應用程序中設置路由的確切過程。我需要安裝任何依賴項嗎?

+0

1)Ionic2 2.2.1使用角度2.4.9,並且您正在使用角度rc5。 2)Ionic使用與angular2路由不同的自己的路由。 – misha130

回答

0

確保你的依賴是根據什麼在離子更改日誌指定設置: https://github.com/driftyco/ionic/blob/master/CHANGELOG.md

有你想在你離子2應用程序使用的角度路由選擇的原因是什麼?離子2導航系統非常直觀,與角度完全不同。除非你可以定義一個非常真實的需求,否則我會建議堅持使用內置的離子導航。除非你只是出於好奇而試圖使用角度導航。在這種情況下,請更新您的依賴關係並再次嘗試。

+0

非常感謝。我意識到,堅持導航比路由更好。我想使用路由的唯一原因是通過url傳遞參數,我可以使用導航來完成這些參數。您能否讓我知道如何將DOM參數(即用戶輸入的參數)發送到另一個.ts頁面,在那裏我進行服務調用以檢索用戶輸入參數的數據? –

+0

你可以在這裏閱讀http://ionicframework.com/docs/v2/api/navigation/NavController/以及http://ionicframework.com/docs/v2/api/navigation/NavParams/ –