前提:ionic做的web页面嵌套在原生框架的app里面(此文章仅讲解ionic部分,原生部分略...)
分两种情况:
1、原生提供方法 —给—》 web调用
2、web提供方法 —给—》 原生回调
以下是我的需求:
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)
网友评论