【发布时间】:2017-10-19 13:53:14
【问题描述】:
我正在尝试运行一个简单的示例应用程序,其模式仅覆盖屏幕的下部。当我单击我认为是预期行为的背景时,我希望模式关闭。但是,单击背景时没有任何反应。 我知道默认情况下应该为 true 的 enableBackdropDismiss。 我正在使用离子角度 3.2.1。
主页:
import { Component } from '@angular/core';
import { NavController, ModalController } from 'ionic-angular';
import { Modal } from '../modal/modal';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
constructor(public navCtrl: NavController, public modalCtrl: ModalController) {
}
openModal(){
let modal = this.modalCtrl.create(Modal);
modal.present();
}
}
<ion-header>
<ion-navbar>
<ion-title>
Modal Test
</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<button ion-button (click)="openModal()">Open Modal</button>
</ion-content>
模态:
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams, ViewController } from 'ionic-angular';
@IonicPage()
@Component({
selector: 'page-modal',
templateUrl: 'modal.html',
})
export class Modal {
constructor(public navCtrl: NavController, public navParams: NavParams, public viewCtrl: ViewController) {
}
closeModal(): void {
this.viewCtrl.dismiss();
}
}
<ion-footer>
<ion-navbar>
<h4>Modal</h4>
<p>I'm a Modal</p>
<button ion-button (click)="closeModal()">Close Modal</button>
</ion-navbar>
</ion-footer>
这是显示模态时的样子。模态框仅在单击按钮时关闭,而不是在单击背景时关闭:
【问题讨论】:
-
可以尝试修改模态模板为
<ion-content (click)="closeModal()"></ion-content><ion-footer>...</ion-footer> -
不是模态覆盖屏幕吗?你是怎么点击背景的?
-
@sebaferreras:这是个好主意,但内容覆盖了背景,我想看看背景。
-
@suraj:正如您在图片中看到的那样,Modal 仅覆盖屏幕的下部。我希望它在单击其上方的区域时关闭。
-
当然,继续。对我来说这似乎是一个 hack,但它有效,所以我不在乎;)
标签: angular typescript ionic2 ionic3