我有一个包含用户的列表,并且我有一个项目希望将其重定向到模式页面。 我的问题是页面可用后,我会无限弹出我的模态,而不是继续进行离子选择并选择项目,这样我就可以弹出了。
html
<ion-select interface="popover" (ngModelChange)="onChange($event)">
<ion-option>Bacon</ion-option>
<ion-option [value]="openConfig()"></ion-option>Black Olives</ion-option>
<ion-option>Extra Cheese</ion-option>
<ion-option>Mushrooms</ion-option>
<ion-option>Pepperoni</ion-option>
<ion-option>Sausage</ion-option>
</ion-select>
ts
onChange(value: any) {
if (value === 'openConfig') {
this.openConfig()
}
}
openConfig() {
this.modalCtrl.create('ConfigModal').present;
console.log('heeey')
}
答案 0 :(得分:0)
在模板中设置[value]
实际上是在调用openConfig()
函数,从而在页面加载时创建无限循环。要执行此处要执行的操作,根本不需要在模板中引用openConfig
函数。
ion-select
使用输出事件ionChange
,该事件输出所选ion-option
的值。因此,在Ionic 3中执行此操作的正常方法如下:
html:
<ion-content padding>
<ion-select interface="popover" [ngModel]="option" (ionChange)="onChange($event)">
<ion-option>Bacon</ion-option>
<ion-option>Black Olives</ion-option>
<ion-option>Extra Cheese</ion-option>
<ion-option>Mushrooms</ion-option>
<ion-option>Pepperoni</ion-option>
<ion-option>Sausage</ion-option>
</ion-select>
</ion-content>
js:
onChange(value: any) {
if (value === 'Black Olives') {
this.openConfig()
}
}
openConfig() {
this.modalCtrl.create(ConfigModal).present();
}
请注意,ion-option
的值只是标签的文本。这就是您应该在“ onChange”功能中检查的内容。
您还有其他一些无关的错别字,但是我相信这可以解决无限循环的问题。希望这会有所帮助!