美文网首页
关于Uni-app混合开发中,iOS调用某个.vue文件中的js

关于Uni-app混合开发中,iOS调用某个.vue文件中的js

作者: 徐鼎城 | 来源:发表于2019-10-05 22:23 被阅读0次

Dcloud离线打包的过程中,有些情况不可避免的需要原生反向调用H5,一般的方式无法调用到vue的内部js方法,比如test.vue中:

<script>

export default {

methods: {

    functionA (a) {

        console.warn(a);

    }

}

}

functionA 是无法被原生的evaluateJS方法调用到的,因为这个方法被隐藏到了test.vue的内部,那么改怎么解决呢?继续看

第一步,挂载:

mounted(){ //页面初始化方法

    Vue.prototype.$functionA = this. functionA

  },

methods: {     functionA (a) {  ....  } }

第二步,调用,以iOS为例:

//iOS调用方法

PDRCoreApp *pdrCoreApp = (PDRCoreApp *)[[[PDRCore Instance] appManager] activeApp];

   PDRCoreAppFrame* pMainFrame = [pdrCoreApp valueForKey:@"_weexWebview"];

   if (pMainFrame)

  {

       NSString *jsStr = [NSString stringWithFormat:@"Vue.prototype.$functionA  ('%@')", ‘123456’];     

       [pMainFrame stringByEvaluatingJavaScriptFromString:jsStr];

  }

搞定!!收工

相关文章

网友评论

      本文标题:关于Uni-app混合开发中,iOS调用某个.vue文件中的js

      本文链接:https://www.haomeiwen.com/subject/kvmypctx.html