【技巧】ionic与原生安卓/ios交互

前提:ionic做的web页面嵌套在原生框架的app里面(此文章仅讲解ionic部分,原生部分略...)

分两种情况:
1、原生提供方法 —给—》 web调用
2、web提供方法 —给—》 原生回调

以下是我的需求:


【技巧】ionic与原生安卓/ios交互_第1张图片
image.png

上图是在原生js里面的写法,那我们在ionic里面应该怎么处理呢?

1、原生提供方法 —给—》 web调用
ts

declare let LmYunJs

LmYunJs.getGeolocationXY()  // 在需要的地方根据文档直接这样调用

2、web提供方法 —给—》 原生回调

  原生调用的是window下面的方法,所以我们要把ts里面的方法转成window下的先

ts

declare let appCallback_GeolocationXY


constructor(){
  //先把方法定义成window下的
  window.appCallback_GeolocationXY = (jsonParam) => {
      alert("成功进入异步回调:appCallback_GeolocationXY()");
      if (typeof (jsonParam) == 'string') {
        jsonParam = JSON.parse(jsonParam);
      }
      alert("lng=" + jsonParam.lng);
      alert("lat=" + jsonParam.lat);
    }
    
}

这样就完成了!

另外,如果你像检查方法是不是window下的你可以这样

console.log(window.appCallback_GeolocationXY)

你可能感兴趣的:(【技巧】ionic与原生安卓/ios交互)