Vue界面中关于APP端回调方法问题
在混合开发中,HTML界面经常性的需要调用APP端提供的原生方法,而且在很多时候,APP端需要各种回调,如果将所有的回调方法写在内部,不是很方便,而且有些时候,APP端需要定义一些主动触发HTML界面的方法,此时就会出现一个略坑的问题:
如果将该方法写在vue methods内,当APP主动去触发这些方法时,就会发现无法获取到这些方法,导致出错!
针对这个回调问题,在询问了一些同事之后找到问题所在:在APP端主动触发HTML方法的时候,会到window下面去查找该方法,但是如果将方法设置到methods中,就会导致APP端找不到该方法,调用失败,解决方法如下:
将方法定义到window下,代码如下:
// 将方法绑定到window下面,提供给外部调用 mounted(){ window['rightFunctionName'] = () => { this.getRule(); //回调方法需要执行的代码 /*代码块*/ } },
采用这种定义方式即可解决APP端调用问题