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 相关文章推荐
Jquery+WebService 校验账号是否已被注册的代码
Jul 12 Javascript
javascript中函数作为参数调用的方法
Feb 09 Javascript
JavaScript面向对象的实现方法小结
Apr 14 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
Sep 07 Javascript
javascript手风琴下拉菜单实现代码
Nov 12 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
Nov 29 Javascript
easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
Nov 09 Javascript
Vuex之理解state的用法实例
Apr 19 Javascript
JSON对象转化为字符串详解
Aug 11 Javascript
vue基于element的区间选择组件
Sep 07 Javascript
vue商城中商品“筛选器”功能的实现代码
Jul 01 Javascript
基于javascript原生判断DOM是否加载完毕
Oct 14 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
基于php在各种web服务器的运行模式详解
2013/06/03 PHP
PHP如何实现跨域
2016/05/30 PHP
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
深入理解JavaScript 闭包究竟是什么
2013/04/12 Javascript
js脚本获取webform服务器控件的方法
2014/05/16 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
2015/02/05 Javascript
基于canvas实现的绚丽圆圈效果完整实例
2016/01/26 Javascript
js实现浏览器倒计时跳转页面效果
2016/08/12 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
使用vue.js在页面内组件监听scroll事件的方法
2018/09/11 Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
2018/11/18 Javascript
layui table去掉右侧滑动条的实现方法
2019/09/05 Javascript
[01:16:28]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第二场 2月23日
2021/03/11 DOTA
Python进行数据科学工作的简单入门教程
2015/04/01 Python
centos6.4下python3.6.1安装教程
2017/07/21 Python
Python标准库inspect的具体使用方法
2017/12/06 Python
Python实现Pig Latin小游戏实例代码
2018/02/02 Python
PyQt5每天必学之日历控件QCalendarWidget
2018/04/19 Python
Python发展史及网络爬虫
2019/06/19 Python
django如何通过类视图使用装饰器
2019/07/24 Python
解决Keras 自定义层时遇到版本的问题
2020/06/16 Python
如何基于Python Matplotlib实现网格动画
2020/07/20 Python
北美女性服装零售连锁店:maurices
2019/06/12 全球购物
德国Discount-Apotheke中文官网:DC德式康线上药房
2020/02/18 全球购物
莫斯科珠宝厂官方网站:Miuz
2020/09/19 全球购物
自荐信格式范文
2013/10/07 职场文书
评析教师个人的自我评价
2014/02/19 职场文书
《骑牛比赛》教后反思
2014/04/22 职场文书
大班幼儿评语大全
2014/04/30 职场文书
班风口号
2014/06/18 职场文书
写给导师的自荐信
2015/03/06 职场文书
初中教师德育工作总结2015
2015/05/12 职场文书
教师节晚会主持词
2015/06/30 职场文书
红白喜事主持词
2015/07/06 职场文书
青年志愿者活动感想
2015/08/07 职场文书
Nginx工作原理和优化总结。
2021/04/02 Servers