无法在Ionic 3上创建路线

Dan*_*ani 1 typescript ionic3 angular

我想在url上看到实际的路由,但是我无法弄清楚我需要更改的内容。

我在这里关注文档:https : //ionicframework.com/docs/api/navigation/IonicPage/

但是我得到这个错误:

... home.ts有一个@IonicPage装饰器,但是在它没有对应的“ NgModule” ...我在页面顶部有这个:

@IonicPage({
  name: 'sums-home',
  segment: 'sums-home'
})
Run Code Online (Sandbox Code Playgroud)

我使用以下代码创建了home.module.ts文件:

import { NgModule } from '@angular/core';
Run Code Online (Sandbox Code Playgroud)

从“ ./home”导入{SumsHomePage};从'ionic-angular'导入{IonicPageModule};

import { NgModule } from '@angular/core';
import { SumsHomePage} from './home';
import { IonicPageModule } from 'ionic-angular';

@NgModule({
  declarations: [
    SumsHomePage
  ],
  imports: [
    IonicPageModule.forChild(SumsHomePage),
  ],
  exports: [
    SumsHomePage
  ]
})
export class SumsHomePageModule { }
Run Code Online (Sandbox Code Playgroud)

我去做这个页面:

this.navCtrl.push('sums-home');
Run Code Online (Sandbox Code Playgroud)

但我认为它应该还有其他东西。

有人存档吗?

小智 5

我在我的Desktop Ionic项目上遇到了同样的问题,并使用DeepLinks找到了以下解决方案:

imports: [ BrowserModule, IonicModule.forRoot(MyApp, {}, { links: [ { component: HomePage, name: 'Home', segment: 'home' }, { component: LoginPage, name: 'Login', segment: 'login' }, { component: UsersPage, name: 'Users', segment: 'users' }, { component: TrophiesPage, name: 'Trophies', segment: 'trophies' } ] }), HttpModule, LoginPageModule, UsersPageModule, TrophiesPageModule, TranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: (createTranslateLoader), deps: [Http] } }), ]

只需注意IonicModule.forRoot导入中使用的链接属性。现在当我使用时:

this.navCtrl.setRoot(HomePage);

我正确地重定向到了URL“ http:// localhost:8100 /#/ home ”。希望能对您有所帮助。和平