无法在Ionic 3上创建路线

时间:2017-09-11 22:02:22

标签: angular typescript ionic3

我想看到网址上的实际路线,但我无法弄清楚我需要更改的内容。

我正在关注此处的文档:https://ionicframework.com/docs/api/navigation/IonicPage/

但是我收到了这个错误:

  

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

@IonicPage({
  name: 'sums-home',
  segment: 'sums-home'
})

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

import { NgModule } from '@angular/core';

从'./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 { }

我转到此页面:

this.navCtrl.push('sums-home');

但我认为应该还有别的东西。

有人存档吗?

4 个答案:

答案 0 :(得分:4)

我的桌面离子项目遇到了同样的问题,并使用 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);

我被正确地重定向到网址“http://localhost:8100/#/home”。 希望它会有所帮助。和平

答案 1 :(得分:1)

如果SumsHomePage有一个@IonicPage()装饰器,您的相应模块应如下所示:

@NgModule({  
  declarations: [  
    SumsHomePage  
  ],  
  imports: [  
    IonicPageModule.forChild(SumsHomePage)  
  ]  
})  

我认为你在entryComponents数组中不需要它,但添加它不会有任何伤害。

答案 2 :(得分:1)

您需要创建var ui=HtmlService.createHtmlOutput(s); SpreadsheetApp.getUi().showModeLessDialog(ui,title); ,如下所示。但是如果您使用最新的module,则会自动为您完成。

CLI

答案 3 :(得分:1)

我像this.nav.setRoot(SumsHomePage);一样导航。

只有在使用细分:this.nav.setRoot('sums-home');

导航时,网址似乎才会发生变化