我试图在离子2中解雇我的模态。
我的组件看起来像这样:
const center = map.getView().getCenter();
const pinnedLocation = ol.proj.transform(center, 'EPSG:3857', 'EPSG:4326');
const feature = new ol.Feature(new ol.geom.Point(center));
const pinLayer = new ol.layer.Vector ({
source: new ol.source.Vector ({
features: [feature]
}),
style: new ol.style.Style ({
image: new ol.style.Icon({
src: 'http://openlayers.org/en/v3.8.2/examples/data/icon.png'
})
})
});
map.addLayer (pinLayer);
我的html看起来像这样:
export class DynamicModalComponent<T extends IHasId> {
modalOptions: DynamicModalOptions<T>
constructor(public navCtrl: NavController, public navParams: NavParams) {
this.modalOptions = navParams.get('modalOptions');
}
close() {
this.modalOptions.viewCtrl.dismiss();
}
}
当我点击取消按钮时,我的功能被触发但没有任何消失。我不认为这个问题会出现在通话类中,但只是发布相关内容:
<ion-header>
<ion-navbar align-title="center">
<ion-title> Dynamic Modal Header </ion-title>
<ion-buttons end>
<button (click)="close()" ion-button>
<ion-icon name="save"></ion-icon>
Cancel
</button>
</ion-buttons>
</ion-navbar>
</ion-header>
答案 0 :(得分:1)
如@sebaferras所述,ViewController的错误实例正在这里传递。
您可以通过在min(score_arr)
的构造函数中注入max
来请求注入器获取正确的ViewController实例。这种方式Injector
可以在DynamicModalComponent
中解决。
ViewController
更好技术是在ngOnInit
的构造函数中注入constructor(public navCtrl: NavController,
public navParams: NavParams,
private injector: Injector) {
this.modalOptions = navParams.get('modalOptions');
}
ngOnInit() {
this.viewCtrl = this.injector.get(ViewController);
}
close() {
this.viewCtrl.dismiss();
}
并让Angular为您处理事情。
ViewController