Vue界面中关于APP端回调方法问题

在混合开发中,HTML界面经常性的需要调用APP端提供的原生方法,而且在很多时候,APP端需要各种回调,如果将所有的回调方法写在内部,不是很方便,而且有些时候,APP端需要定义一些主动触发HTML界面的方法,此时就会出现一个略坑的问题:

如果将该方法写在vue methods内,当APP主动去触发这些方法时,就会发现无法获取到这些方法,导致出错!

针对这个回调问题,在询问了一些同事之后找到问题所在:在APP端主动触发HTML方法的时候,会到window下面去查找该方法,但是如果将方法设置到methods中,就会导致APP端找不到该方法,调用失败,解决方法如下:

将方法定义到window下,代码如下:

// 将方法绑定到window下面,提供给外部调用
mounted(){
      window['rightFunctionName'] = () => {
          this.getRule();            //回调方法需要执行的代码
          /*代码块*/
      }
 },

采用这种定义方式即可解决APP端调用问题

posted @ 2019-05-22 14:10  对方屌丝正在输入中  阅读(506)  评论(0编辑  收藏  举报