我正在使用ionic2/angular2应用程序开发移动应用程序.我们必须调用另一个外部API来显示一个对话框.从另一个控件返回到我的应用程序后,AlertController范围不起作用.
import {AlertController, Events } from 'ionic-angular';
export class BalanceInquiryPage {
constructor(){
public alertCtrl: AlertController,
public events: Events,
}
public balanceDetials(formdata): void {
//fetch the device details from sqlite storage
this.databaseService.getDeviceDetails().then((result) => {
this.commonServices.getGeoLocation(this.deviceObj);
setTimeout(() => {
let geodevice = this.shareService.getDeviceDetails();
let balanceenq = JSON.stringify({"mobileNumber":"9199403562", "expDate":"","cardDigits":""});
if (window.npciLib){
window.npciLib.balanceenq(balanceenq, function (data) {
let dataobj = JSON.parse(data);
if(dataobj.resp.result == 'SUCCESS'){
//this.events.publish('alert:presented', 'Success', 'Balance Enquiry Success.', MyaccountPage);
let alert = this.alertCtrl.create({
title: "Success",
subTitle: "balance",
buttons: [
{
text: 'Ok',
handler: () => {
}
}
]
});
alert.present();
}
else{
//this.events.publish('alert:presented', 'Fail', 'There was an error in balance enquiry.', 'samePage');
}
}, function (error) {
console.log('error block-'+error);
});
}
}, 1000);
}, (error) => {
console.log('Error', error.err);
});
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
未捕获的TypeError:无法读取null的属性'alertCtrl'
在这里使用箭头功能
window.npciLib.balanceenq(balanceenq, function (data) {
Run Code Online (Sandbox Code Playgroud)
喜欢
window.npciLib.balanceenq(balanceenq, (data) => {
Run Code Online (Sandbox Code Playgroud)
这种方式this将引用您的组件实例
| 归档时间: |
|
| 查看次数: |
560 次 |
| 最近记录: |