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与CSS复习(二)
Jun 29 Javascript
javascript getElementsByClassName实现代码
Oct 11 Javascript
分享我对JS插件开发的一些感想和心得
Feb 04 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
May 27 Javascript
js自调用匿名函数的三种写法(推荐)
Aug 19 Javascript
ECMAscript 变量作用域总结概括
Aug 18 Javascript
JavaScript多态与封装实例分析
Jul 27 Javascript
React中如何引入Angular组件详解
Aug 09 Javascript
vue axios 简单封装以及思考
Oct 09 Javascript
小程序日历控件使用方法详解
Dec 29 Javascript
ant-design-vue 快速避坑指南(推荐)
Jan 21 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
Nov 16 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获取url字符串截取路径的文件名和扩展名的函数
2010/01/22 PHP
php中Smarty模板初体验
2011/08/08 PHP
ThinkPHP之用户注册登录留言完整实例
2014/07/22 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
2019/10/12 PHP
php+mysql实现的无限分类方法类定义与使用示例
2020/05/27 PHP
javascript排序函数实现数字排序
2015/06/26 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
基于Layer+jQuery的自定义弹框
2020/05/26 Javascript
js仿iphone秒表功能 计算平均数
2017/01/11 Javascript
canvas绘制环形进度条
2017/02/23 Javascript
ES6新数据结构Set与WeakSet用法分析
2017/03/31 Javascript
vue返回上一页面时回到原先滚动的位置的方法
2018/12/20 Javascript
在微信小程序中使用vant的方法
2019/06/07 Javascript
继承行为在 ES5 与 ES6 中的区别详解
2019/12/24 Javascript
Vue如何跨组件传递Slot的实现
2020/12/14 Vue.js
python+Django+apache的配置方法详解
2016/06/01 Python
Python实现读取及写入csv文件的方法示例
2018/01/12 Python
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
快速解决PyCharm无法引用matplotlib的问题
2018/05/24 Python
python3正则提取字符串里的中文实例
2019/01/31 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
2019/10/11 Python
Python几种常见算法汇总
2020/06/02 Python
python里的单引号和双引号的有什么作用
2020/06/17 Python
Gibson London官网:以地道的英国男装而著称
2019/12/06 全球购物
初中女生自我鉴定
2013/12/19 职场文书
费用会计岗位职责
2014/01/01 职场文书
销售演讲稿范文
2014/01/08 职场文书
年终考核评语
2014/01/19 职场文书
新学期国旗下演讲稿
2014/05/08 职场文书
改革共识倡议书
2014/08/29 职场文书
初中学习计划书范文
2014/09/15 职场文书
体育教师个人总结
2015/02/09 职场文书
酒店仓管员岗位职责
2015/04/01 职场文书
小学班长竞选稿
2015/11/20 职场文书
SQL语句多表联合查询的方法示例
2022/04/18 MySQL
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
2022/04/24 Vue.js