【问题标题】:Pass page parameter from view to controller将页面参数从视图传递到控制器
【发布时间】:2018-10-24 09:02:17
【问题描述】:

我对 ionic 很陌生,此时我很迷茫:

我有以下html:

<ion-menu [content]="mainContent">
  <ion-header>
    <ion-toolbar>
      <ion-title>
        Menu
      </ion-title>
    </ion-toolbar>
  </ion-header>
  <ion-content id="side-menu21">
    <ion-list id="menu-list1">
      <ion-item color="none" id="menu-list-item1" (click)="gotoTabPending();">
        Pendientes
      </ion-item>
      <ion-item color="none" id="menu-list-item2" (click)="gotoTabDone();">
        Realizadas
      </ion-item>
      <ion-item color="none" id="menu-list-item3" (click)="gotoTabAll();">
        Todas
      </ion-item>
    </ion-list>
  </ion-content>
</ion-menu>

<ion-nav #mainContent [root]="rootPage"></ion-nav>

分别调用这三个方法:

gotoTabPending(){
    this.navCtrl.push(PendingTasksPage);
    this.menuCtrl.close();
}

gotoTabDone(){
    this.navCtrl.push(DoneTasksPage);
    this.menuCtrl.close();
}

gotoTabAll(){
    this.navCtrl.push(AllTasksPage);
    this.menuCtrl.close();
}

我正在尝试将这些方法统一为一个,例如:

<ion-item color="none" id="menu-list-item3" (click)="gotoTab(AllTasksPage);">

gotoTab(param){
  this.navCtrl.push(param);
  this.menuCtrl.close();
}

但是,这不起作用并启动异常:

我一直在做一些研究,但没有发现任何有用的东西。有没有办法做到这一点?

提前致谢

【问题讨论】:

  • AllTasksPage 包含什么内容?

标签: ionic-framework ionic2 ionic-view


【解决方案1】:

你可以这样做...

export interface PageInterface {
  title: string;
  name: string;
  index?: any;
}

appPages: PageInterface[] = [
    { title: 'Pendientes', name: PendingTasksPage, index: 0 },
    { title: 'Realizadas', name: DoneTasksPage, index: 1 },
    { title: 'Todas', name: AllTasksPage, index: 2 },
];

gotoTab(x){
    this.navCtrl.push(x.name);
    this.menuCtrl.close();
}

<ion-menu [content]="mainContent">
  <ion-header>
    <ion-toolbar>
      <ion-title>
        Menu
      </ion-title>
    </ion-toolbar>
  </ion-header>
  <ion-content id="side-menu21">
    <ion-list id="menu-list1">
      <ion-item *ngFor="let x of appPages" color="none" id="menu-list-item1" (click)="gotoTab(x);">
        {{x.title}}
      </ion-item>
    </ion-list>
  </ion-content>
</ion-menu>

<ion-nav #mainContent [root]="rootPage"></ion-nav>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    • 2011-09-12
    • 1970-01-01
    相关资源
    最近更新 更多