Vue.js暴露方法给WebView的使用操作


Posted in Javascript onSeptember 07, 2020

新建一个外部公共的js文件app.js,定义一个对象并输出,如下:

var hybrid = { 
}
 
window.Hybrid = hybrid
 
if (window.Vue) {
 window.Vue.use(hybrid)
}
 
export { hybrid }

在需要的文件中引入app.js或者在main.js引入app.js,如下(引入到main.js):

import { hybrid } from './common/app'

Vue.prototype.$hybrid = hybrid

将需要暴露的方法赋给hybrid对象,如下:

Vue.js暴露方法给WebView的使用操作

补充知识:将Vue项目methods中的方法暴露在window上

我是一个H5,咱们在写APP的时候,也就是APP内部嵌套咱们H5代码的时候,肯定会遇到交互问题,如果使用普通html js css的话应该没有什么太大的问题,因为普通js方法都是暴露在window上面的,就我们公司的APP,使用回调的时候会在window上面找H5回调方法,

代码这个样子的

mounted() {
   // 将backToday方法绑定到window下面,提供给外部调用
   let me = this;
   window['logoClickBtn'] = (url) => {
     // Toast({ message: url, position: 'bottom', duration: 5000 });
     me.logoClickBtn(url)
   }
 },

然后我写一下大概步骤是啥样的 ,不然你只知道这样写,但是上一步的操作是什么

Vue.js暴露方法给WebView的使用操作

这方法肯定有触发条件,再触发的时候将参数进行传入,与APP对接成功之后,会将再次调用咱们的函数也就是callBack,

我项目中是因为要是有手机中的拍照与手机图片上传,在咱们的页面中应该是这个样子的在这里插入图片描述

Vue.js暴露方法给WebView的使用操作

代码是这个样子的

Vue.js暴露方法给WebView的使用操作

Vue.js暴露方法给WebView的使用操作

当与APP对接成功之后就会调用咱们传过去的方法名了,但是APP端调用咱们的方法都是绑定在window上面的方法,故咱们应该讲咱们的方法暴露在window上面,因为Vue项目中的this指向vue,而不是window,

代码是这个样子的

mounted() {
     // 将backToday方法绑定到window下面,提供给外部调用
     let me = this;
     window['logoClickBtn'] = (url) => {
       me.logoClickBtn(url); // 这个也就是我定义的方法
     }
   },

这一步是什么呢?就是APP会给咱们上传的图片的一个路径,然后使用这个路径在进行下一步操作,也就是

logoClickBtn(url) {
     this.form.logo = url; // 进行数据驱动试图
   },

然后咱们的页面上就会有图片了

Vue.js暴露方法给WebView的使用操作

因为服务没有开,所以就不展示了 哈哈,这个步骤是可以走通的。

以上这篇Vue.js暴露方法给WebView的使用操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
数组Array进行原型prototype扩展后带来的for in遍历问题
Feb 07 Javascript
JQuery操作表格(隔行着色,高亮显示,筛选数据)
Feb 23 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
Nov 30 Javascript
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
Jan 14 Javascript
jquery实现类似淘宝星星评分功能有截图
Sep 15 Javascript
JavaScript针对网页节点的增删改查用法实例
Feb 02 Javascript
Node.js的Mongodb使用实例
Dec 30 Javascript
详解vue父子模版嵌套案例
Mar 04 Javascript
JavaScript反射与依赖注入实例详解
May 29 Javascript
jQuery 实现批量提交表格多行数据的方法
Aug 09 jQuery
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
Sep 11 Javascript
JavaScript常用工具方法封装
Feb 12 Javascript
三步搞定:Vue.js调用Android原生操作
Sep 07 #Javascript
vue单应用在ios系统中实现微信分享功能操作
Sep 07 #Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
Sep 07 #Javascript
一篇文章带你从零快速上手Rollup
Sep 07 #Javascript
基于vue hash模式微信分享#号的解决
Sep 07 #Javascript
在项目vue中使用echarts的操作步骤
Sep 07 #Javascript
解决vue加scoped后就无法修改vant的UI组件的样式问题
Sep 07 #Javascript
You might like
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
定义php常量的详解
2013/06/09 PHP
如何使用PHP实现javascript的escape和unescape函数
2013/06/29 PHP
一组PHP可逆加密解密算法实例代码
2014/01/21 PHP
深入理解PHP JSON数组与对象
2016/07/19 PHP
让Firefox支持event对象实现代码
2009/11/07 Javascript
简略的前端架构心得&&基于editor为例子的编码小技巧
2010/11/25 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
js的隐含参数(arguments,callee,caller)使用方法
2014/01/28 Javascript
jquery进行数组遍历如何跳出当前的each循环
2014/06/05 Javascript
初始Nodejs
2014/11/08 NodeJs
JavaScript中Math.SQRT2属性的使用详解
2015/06/14 Javascript
详解Javascript继承的实现
2016/03/25 Javascript
基于jQuery实现页面搜索功能
2020/03/26 Javascript
vue2.0使用Sortable.js实现的拖拽功能示例
2017/02/21 Javascript
JS简单添加元素新节点的方法示例
2018/02/10 Javascript
jQuery实现ajax回调函数带入参数的方法示例
2018/06/26 jQuery
灵活使用console让js调试更简单的方法步骤
2019/04/23 Javascript
jQuery实现二级导航菜单的示例
2020/09/30 jQuery
使用C#配合ArcGIS Engine进行地理信息系统开发
2016/02/19 Python
Python3中类、模块、错误与异常、文件的简易教程
2017/11/20 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
Python3编码问题 Unicode utf-8 bytes互转方法
2018/10/26 Python
python多进程控制学习小结
2018/10/31 Python
pygame游戏之旅 添加游戏介绍
2018/11/20 Python
python实现蒙特卡罗方法教程
2019/01/28 Python
计算机二级python学习教程(2) python语言基本语法元素
2019/05/16 Python
python装饰器代码深入讲解
2021/03/01 Python
优秀幼教自荐信
2014/02/03 职场文书
化妆师职业生涯规划书
2014/02/16 职场文书
领导班子整改方案
2014/10/25 职场文书
2014年法制宣传日活动方案
2014/11/02 职场文书
2015年法务工作总结范文
2015/05/23 职场文书
2016优秀护士求职自荐信
2016/01/28 职场文书
动态规划之使用备忘录来改进Javascript函数
2022/04/07 Javascript
pytest实现多进程与多线程运行超好用的插件
2022/07/15 Python