Modal组件主要用来弹出一些临时的框,如登录,注册的时候用
弹出页面html页面
<button ion-button small outline color="he" (click)="register()">还没有账号,点击注册</button>
弹出页面的ts文件
import { Component } from '@angular/core';
import { ModalController } from 'ionic-angular';
import { RegisterPage } from '../register/register';//需要弹出的页面
@Component({
selector: 'page-contact',
templateUrl: 'contact.html'
})
export class ContactPage {
constructor(public modalCtrl: ModalController) {
}
register(){
let modal = this.modalCtrl.create(RegisterPage);
modal.present();
}
}
被弹出页面的html(页面上设置关闭按钮用来关闭弹出页dismiss)
<ion-header> <ion-navbar> <ion-title>用户注册</ion-title> <ion-buttons end> <button ion-button clear (click)="dismiss()"> <span showWhen="ios">取消</span> <ion-icon name="md-close" showWhen="android"></ion-icon> </button> </ion-buttons> </ion-navbar> </ion-header> <ion-content padding> </ion-content>
被弹出页面的ts文件(用ViewController来关闭当前弹出页面)
import { Component } from '@angular/core';
import { ViewController } from 'ionic-angular';
@IonicPage()
@Component({
selector: 'page-register',
templateUrl: 'register.html'
})
export class RegisterPage {
constructor(public viewCtrl: ViewController) {
}
dismiss(){
this.viewCtrl.dismiss();
}
}
弹出页面是新生成的组件的话,记得修改app.moudle.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 { 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)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
AboutPage,
ContactPage,
RegisterPage,//添加
HomePage,
TabsPage
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler}
]
})
export class AppModule {}