ionic - 使用navCtrl.push()的参数

时间:2017-09-07 20:02:03

标签: javascript angular typescript mobile ionic-framework

我正在调用home.html中的方法

(click)="openPage(EventsPage)"

我知道我是否只使用这种方法

openPage() {
  this.navCtrl.push(EventsPage)
}

在home.ts它会工作。

基本上我想根据点击的内容采用不同的参数,但只使用一种方法导航到所选页面,例如。

(click)="openPage(EventsPage)"
(click)="openPage(TimetablePage)"

openPage(page) { 
  this.navCtrl.push(page)
}

我是否需要使用switch语句或ifs?我希望我能把它保持在一两行。

任何建议或建议表示感谢。

1 个答案:

答案 0 :(得分:0)

由于这似乎是一个刚开始或正在摆弄的项目,这就是我所建议的。

创建任何新页面时,请创建page.module.ts。

典型的page.module.ts看起来像这样

import {IonicPageModule} from 'ionic-angular';
import {NgModule} from '@angular/core';
import {YourPage} from './your-page.ts';

@NgModule({
    declarations: [YourPage],
    imports: [IonicPageModule.forChild(YourPage)]
})
export class YourPageModule{}

这就是你的page.ts看起来像

的样子
import {Component} from '@angular/core';
import {IonicPage} from 'ionic-angular';

@IonicPage()
@Component({
   selector: 'your-page',
   templateUrl: 'your-page.html'
})
export class YourPage{}

当您完成所有这些设置后,您只需发送“PagePage'字符串到openPage(页面)函数导航到YourPage组件。

通过ionics NavController推送字符串而不是导入的页面实例也可以启用延迟加载(页面的js-bundle在需要时获取,而不是在启动时一次获取)。如果您有一个包含许多页面的应用程序,这可以显着改善您的启动时间。我还建议阅读IonicPage docs,它们在处理导航时非常有用。