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>
好了整个流程就是这样的!鼓掌!!!