• ionic3 导航的应用(页面跳转与参数传递)


    about.html(跳转页面)

    <ion-content padding>
        <ion-list>
          <ion-item *ngFor="let he of contacts" (click)="onClick(event,he)">
            <ion-avatar item-left>
              <img src="../assets/imgs/{{he.img}}.jpg" alt=""/>
            </ion-avatar>
            <h3 class="mymargin">{{he.name}}</h3>
            <p>{{he.text}}</p>
          </ion-item>
    
        </ion-list>
    </ion-content>

    about.ts(跳转页面)

    import { Component } from '@angular/core';
    import { NavController } from 'ionic-angular';
    
    @Component({
      selector: 'page-about',
      templateUrl: 'about.html'
    })
    export class AboutPage {
    
      constructor(public navCtrl: NavController) {
    
      }
      public contacts=[
        {"img":"bg2","name":"麦兜","text":"好嗨哦"},
        {"img":"bg3","name":"小胖","text":"好嗨哦"},
        {"img":"bg5","name":"小猪佩奇","text":"好嗨哦"}
      ];
      onClick(event,he){
            this.navCtrl.push('DetailPage',{test : he});
      }
    
    }

    跳转到的页面(使用ionic g page detail 指令生成跳转到的新页面)

    修改 app.module.ts 文件 很重要:如下

    import { NgModule, ErrorHandler } from '@angular/core';
    import { BrowserModule } from '@angular/platform-browser';
    import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
    import { MyApp } from './app.component';
    
    import { AboutPage } from '../pages/about/about';
    import { ContactPage } from '../pages/contact/contact';
    import { RegisterPage } from '../pages/register/register';
    import { HomePage } from '../pages/home/home';
    import { TabsPage } from '../pages/tabs/tabs';
    /*添加这行*/
    import { DetailPageModule } from '../pages/detail/detail.module';
    
    import { StatusBar } from '@ionic-native/status-bar';
    import { SplashScreen } from '@ionic-native/splash-screen';
    
    @NgModule({
      declarations: [
        MyApp,
        AboutPage,
        ContactPage,
        RegisterPage,
        HomePage,
        TabsPage
      ],
      imports: [
        BrowserModule,
        IonicModule.forRoot(MyApp),
        DetailPageModule//添加这个
      ],
      bootstrap: [IonicApp],
      entryComponents: [
        MyApp,
        AboutPage,
        ContactPage,
        RegisterPage,
        HomePage,
        TabsPage
      ],
      providers: [
        StatusBar,
        SplashScreen,
        {provide: ErrorHandler, useClass: IonicErrorHandler}
      ]
    })
    export class AppModule {}

    detail.ts接收变量

    import { Component } from '@angular/core';
    import { IonicPage, NavController, NavParams } from 'ionic-angular';
    
    @IonicPage()
    @Component({
      selector: 'page-detail',
      templateUrl: 'detail.html'
    })
    export class DetailPage  {
      data:any;
      constructor(public navCtrl: NavController, public navParams: NavParams) {
        this.data = navParams.get('test');
      }
    
    
    
    }

    detail.html显示

    <ion-header>
      <ion-navbar>
        <ion-title>detail</ion-title>
      </ion-navbar>
    </ion-header>
    
    <ion-content padding>
      {{data.name}}
    </ion-content>

    好了整个流程就是这样的!鼓掌!!!

  • 相关阅读:
    代理模式以及operator>()的重载
    asp.net 2.0中gridview里嵌套dropdownlist
    .Net的编码规范
    Google GMail使用技巧
    推荐一些我经常参考的ASP.NET2.0的学习网站
    petShop 4.0 的命名空间 以及各个项目模块的说明
    超强口误
    当每次鼠标点选GRIDVIEW每行的文本框时,该行会加亮
    ASP.NET2.0中Gridview中数据操作技巧
    ASP.NET中的DataGrid控件示例
  • 原文地址:https://www.cnblogs.com/longailong/p/10451088.html
Copyright © 2020-2023  润新知