原生APP与vue方法互相调用

1,547 阅读1分钟
  • 近期在开发中有一个需求,vue调用原生扫码界面并将扫码结果回传给vue

vue调用原生方法

假设要调用的方法名为nativeFunc

vue代码

  if (android) {
    window.android.nativeFunc()
  } else if (iphone || ipad) {
    window.webkit.messageHandlers.scanAssetDetails.postMessage("nativeFunc");
  }

原生调用vue方法

假设要调用的方法名为vueFunc

vue代码,在mounted中暴露方法

  mounted() {
    window.vueFunc = (nativeStr) => {
      this.scanOverRes(nativeStr);
    };
  },
  methods: {
    scanOverRes(nativeStr) {
      alert(nativeStr);
    },
  },