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 相关文章推荐
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
Jan 16 Javascript
EasyUI中的tree用法介绍
Nov 01 Javascript
jquery Mobile入门—外部链接切换示例代码
Jan 08 Javascript
js 判断图片是否加载完以及实现图片的预下载
Aug 14 Javascript
JS实现兼容各浏览器解析XML文档数据的方法
Jun 01 Javascript
javascript 闭包详解
Jul 02 Javascript
javascript+ajax实现产品页面加载信息
Jul 09 Javascript
JavaScrpt的面向对象全面解析
May 09 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
Dec 07 Javascript
d3.js实现自定义多y轴折线图的示例代码
May 30 Javascript
vue子路由跳转实现tab选项卡
Jul 24 Javascript
实例分析JS中的相等性判断===、 ==和Object.is()
Nov 17 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(视频)Http下载
2006/12/12 PHP
深入理解:XML与对象的序列化与反序列化
2013/06/08 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
php中的异常和错误浅析
2017/05/03 PHP
YII框架行为behaviors用法示例
2019/04/26 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
2019/10/14 PHP
laravel 解决强制跳转 https的问题
2019/10/22 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
jquery随意添加移除html的实现代码
2011/06/21 Javascript
解决JS中乘法的浮点错误的方法
2014/01/03 Javascript
JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
2014/03/20 Javascript
javascript关于继承的用法汇总
2014/12/20 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
javascript使用avalon绑定实现checkbox全选
2015/05/06 Javascript
domReady的实现案例
2016/11/23 Javascript
JavaScript严格模式下关于this的几种指向详解
2017/07/12 Javascript
Vue.js 图标选择组件实践详解
2018/12/03 Javascript
vue中keep-alive内置组件缓存的实例代码
2020/04/16 Javascript
[02:40]DOTA2殁境神蚀者 英雄基础教程
2013/11/26 DOTA
[00:43]2016完美“圣”典风云人物:单车宣传片
2016/12/02 DOTA
Python解析xml中dom元素的方法
2015/03/12 Python
深入理解 Python 中的多线程 新手必看
2016/11/20 Python
Python实现判断并移除列表指定位置元素的方法
2018/04/13 Python
在python3中实现查找数组中最接近与某值的元素操作
2020/02/29 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
2020/03/18 Python
使用HTML5和CSS3制作一个模态框的示例
2018/03/07 HTML / CSS
Guess欧洲官网:美国服饰品牌
2019/08/06 全球购物
新闻专业个人求职信
2013/12/19 职场文书
工作简历自我评价
2015/03/11 职场文书
2015年物业管理工作总结
2015/04/23 职场文书
2015年幼儿园个人工作总结
2015/04/25 职场文书
2015年度合同管理工作总结
2015/05/22 职场文书
论文评审意见
2015/06/05 职场文书
《詹天佑》教学反思
2016/02/20 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书
vue中的可拖拽宽度div的实现示例
2022/04/08 Vue.js