【问题标题】:Cannot read property 'subscribe' of undefined on Ionic 4 , Angular 8无法读取 Ionic 4、Angular 8 上未定义的属性“订阅”
【发布时间】:2019-11-08 15:45:14
【问题描述】:

我在我的项目中使用Ionic 4Angular 8。 我的项目需要与支付网关服务集成。 我正在使用Ionic 4 InAppBrowser plugin 打开支付网关站点。

这是我的实现:

const browserRef = this.browser.create(paymentUrl, '_blank');
this._hookBrowserClosedSubscription = browserRef.on('loadstop').subscribe(event => {
  console.log(event);
});

我使用命令ionic cordova run android --device --livereload --no-native-run 在真实设备上运行我的应用程序。尝试使用 InAppBrowser 插件打开页面时出现以下错误:

无法读取未定义的属性“订阅”

我一直在寻找这个错误,他们大多提到它存在于浏览器,而不是真实设备

我正在使用的包:

"cordova-plugin-inappbrowser": "^3.0.0"
"@ionic-native/in-app-browser": "^5.8.0",

谁能帮帮我?

谢谢

【问题讨论】:

  • 我想不出足够的答案来写答案,但我怀疑loaderror 发生在loadstop 之前,所以没有什么可订阅的。也许looking at some other peoples code 会有所帮助?

标签: angular ionic-framework ionic4 inappbrowser ionic-native


【解决方案1】:

最后,

我找到了问题的根本原因。 我不知道为什么,但in-app-browser 出现在我的packages.json 中:

"cordova-plugin-inappbrowser": "^3.0.0"
"@ionic-native/in-app-browser": "^5.8.0",

当我在我的设备上使用Chrome Inspect 运行我的应用程序时,我看到了一条警告消息:

Native:InAppBrowser 未安装或您正在浏览器上运行。回退到 window.open,所有实例方法都不起作用。

我尝试使用 2 个命令安装应用内浏览器:

ionic cordova plugin add cordova-plugin-inappbrowser
npm install @ionic-native/in-app-browser

当我再次运行我的应用程序时,警告消息消失了,浏览器按我的预期运行。

多么愚蠢的错误。

希望这对遇到同样情况的人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-05
    • 1970-01-01
    • 2018-02-13
    • 2019-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多