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 相关文章推荐
javascript实现动态增加删除表格行(兼容IE/FF)
Apr 02 Javascript
javascript实现按回车键切换焦点
Feb 09 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
Apr 12 Javascript
JS简单循环遍历json数组的方法
Apr 22 Javascript
微信小程序 本地数据存储实例详解
Apr 13 Javascript
bootstrap精简教程_动力节点Java学院整理
Jul 14 Javascript
Vue组件的使用教程详解
Jan 05 Javascript
详解vscode中vue代码颜色插件
Oct 11 Javascript
Javascript异步编程async实现过程详解
Apr 02 Javascript
Vue自定义组件双向绑定实现原理及方法详解
Sep 03 Javascript
React Native登录之指纹登录篇的示例代码
Nov 03 Javascript
js用正则表达式筛选年月日的实例方法
Jan 04 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列出一个目录下的所有文件的代码
2012/10/09 PHP
关于php操作mysql执行数据库查询的一些常用操作汇总
2013/06/24 PHP
10个超级有用值得收藏的PHP代码片段
2015/01/22 PHP
PHP解析RSS的方法
2015/03/05 PHP
PHP文件读取功能的应用实例
2015/05/08 PHP
PhpStorm terminal无法输入命令的解决方法
2016/10/09 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
2020/06/06 PHP
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
很全的显示阴历(农历)日期的js代码
2009/01/01 Javascript
javascript 多种搜索引擎集成的页面实现代码
2010/01/02 Javascript
Jquery ui css framework
2010/06/28 Javascript
js计算精度问题小结
2013/04/22 Javascript
jQuery检测某个元素是否存在代码分享
2015/07/09 Javascript
node.js爬虫爬取拉勾网职位信息
2017/03/14 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
用Angular实现一个扫雷的游戏示例
2020/05/15 Javascript
Pyhthon中使用compileall模块编译源文件为pyc文件
2015/04/28 Python
Python中的ConfigParser模块使用详解
2015/05/04 Python
Python科学画图代码分享
2017/11/29 Python
PyQt5实现简单数据标注工具
2019/03/18 Python
python怎么删除缓存文件
2020/07/19 Python
python-图片流传输的思路及示例(url转换二维码)
2020/12/21 Python
实例教程 HTML5 Canvas 超炫酷烟花绽放动画实现代码
2014/11/05 HTML / CSS
英国在线照明超市:Castlegate Lights
2019/10/30 全球购物
JPA的特点
2014/10/25 面试题
心理健康教育制度
2014/01/27 职场文书
《影子》教学反思
2014/02/21 职场文书
消防安全承诺书
2014/05/22 职场文书
旅游与酒店管理专业求职信
2014/07/21 职场文书
中班上学期个人总结
2015/02/12 职场文书
大队委员竞选稿
2015/11/20 职场文书
golang http使用踩过的坑与填坑指南
2021/04/27 Golang
Python基础之进程详解
2021/05/21 Python
JavaScript中document.activeELement焦点元素介绍
2021/11/27 Javascript
Django基础CBV装饰器和中间件
2022/03/22 Python
MySQL GTID复制的具体使用
2022/05/20 MySQL