在进行web与安卓,iOS混合开发时,由于业务需求,需要web与原生相互调用方法。
当安卓,IOS调用web方法时候,如果没有用Vue框架或者其他JS框架,那么web不需要额外操作,若是你使用了Vue框架,那么,你要在vue生命周期函数mounted时候,将你要递给原生的方法挂在带windows上,例如:
mounted() {
window.onNativeNetworkResponse=this.onNativeNetworkResponse
}
这样原生可以调用你的onNativeNetworkResponse方法。
当web想要调用安卓,iOS方法时候不需要web自己设置什么,按照安卓,iOS工程师给你们的固定格式调用就行了,比如安卓他们用NativeBridge,那么如果他给你暴露了一个tips方法,直接NativeBridge.tips()即可,如果是iOS,也按照iOS工程师给你们的写法写就行了,比我这里收到的 window.webkit.messageHandlers.getToken.postMessage("")。
混合开发中web其实没什么麻烦代码,主要还是靠原生来写。