Angular2,ionic2:究竟应该如何在angular2 final中实现路由?

时间:2017-03-17 14:32:06

标签: url routing navigation ionic2 angular2-routing

我一直在尝试将路由设置为仍在开发中的ionic2应用程序。我对路由的概念完全不熟悉。到目前为止,无论我做了什么都是基于NavCtrl.push()或NavCtrl.setRoot()。我想知道在ionic2中是否可以路由。

但是要遵循官方网站上的代码: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> 在我的app.html文件中。当我尝试运行时执行所有这些操作时出现以下错误。

运行时错误: WEBPACK_IMPORTED_MODULE_0__angular_core .Version不是构造函数

打字稿错误: 模块'“C:/ Users / Impromptu_coder / dem / node_modules / @ angular / core / index”'没有导出成员'NgProbeToken

打字稿错误: 模块'“C:/ Users / Impromptu_coder / dem / node_modules / @ angular / core / index”'没有导出成员'Version'。

我在互联网上经历了很多关于在ionic2和angular2中进行路由的消息来源,但其中大多数似乎都被弃用了。以下是当前版本

我正在使用:

Ionic2:v2.2.1

npm:3.10.10

cordova:6.5.0

Angular2:最终版本rc5

请告诉我在我的应用中设置路由的确切步骤。我需要安装任何依赖项吗?

1 个答案:

答案 0 :(得分:0)

确保根据离子变化日志中的指定设置依赖关系: https://github.com/driftyco/ionic/blob/master/CHANGELOG.md

您是否有理由在离子2应用程序中使用角度路由?离子2导航系统非常直观,完全不同于角度导航系统。我建议坚持使用内置的离子导航,除非你能定义一个非常真实的需要。除非你只是出于好奇而试图使用角度导航。在这种情况下,请让您的依赖项保持最新,并再试一次。