H5页面用vue2.全家桶写的。

一、vue代码编写vue中路由的编写

1)vue init webpack test

2)/src/router/index.js中引入路由组件

import Index from 'src/components/index/index'

import Search from 'src/components/search/search'

3)/src/router/index.js中定义路由

{

path: '/index',

component: Index,

meta: {

title: '首页'

}

},

{

path: '/search',

component: Search,

meta: {

title: '搜索'

}

}

小程序web-view的src的地址就是:XXX/#/index 和 XXX/#/search。

2. 小程序web-view的src指向的H5页面自定义标题vue-wechat-title​www.npmjs.com

1)npm install vue-wechat-title --save

2) 在main.js中引入:

import VueWechatTitle from 'vue-wechat-title'

Vue.use(VueWechatTitle)

3)App.vue中

4)路由定义,见1中3)的meta。

二、本地调试找到本机在内网中的IP地址。 终端输入,MAC操作系统:ifconfig; windows操作系统:ipconfig。

修改配置项。 打开/package.json:

"scripts": {

"dev": "webpack-dev-server --host 0.0.0.0 --inline...

}

3. 测试:(电脑与手机在同一个局域网内),如本机在内网中的IP地址:192.168.0.110

4. eslint 报错,可以打开 /package.json , 在"scripts":{....}中找到"lint": "eslint --ext .js,.vue src" 修改成:"lint": "eslint --fix --ext .js,.vue src" ,如此可以自动修复代码样式。修改后,在终端中先执行,npm run lint (修改代码样式);再执行npm run dev。(不一定好使,最好是在/.eslintrc.js中手动设置,然后再npm run dev。)

三、 小程序

1、设置“不效验合法域名、... ....”

2、小程序向H5传递数据,使用web-viewweb-view | 微信开放文档​developers.weixin.qq.com

注意:web-view页面中的bindmessage方法不会在该页面显示的时候被触发,简言之,只会在离开该web-view页面,致使web-view页面销毁了才触发,如,wx.navigateTo。点击小程序当前页面的元素就会显示H5页面。

1)准备数据

/**js**/

data:{

isShow: false

}

2)点击小程序页面的某一个元素才会跳转到指定的H5页面。

点击跳转H5页面

bindmessage="onVueMsg" />

3)点击小程序页面的某一个元素才跳转到指定的H5页面并传参。

点击跳转H5页面并传参

bindmessage="onVueMsg" />

4)点击函数toOtherLink的编写。

/*点击跳转到指定的H5页面*/

/*点击之后,如果当前小程序page就是显示web-view页面的小程序page,按钮会被web-view页面遮住,web-view页面会全屏显示*/

toOtherLink:function(){

this.setData({

isShow:true

})

},

/*输出从vue中返回的数据*/

onVueMsg:function(e){

// 小程序后退、组件销毁、分享,时才触发onVueMsg方法/* 当前不会有输出,vue中也没有编写相关代码 */

console.log(e.detail.data)

},点击小程序页面元素,跳转到当前小程序项目的另一个页面显示H5页面。

1)显示H5页面的小程序页面的,.html文件的编写

bindmessage="onVueMsg" />

2)显示H5页面的小程序页面的,.js文件的编写

/*输出从vue中返回的数据*/

onVueMsg:function(e){

// 小程序后退、组件销毁、分享,时才触发onVueMsg方法/* 当前不会有输出,vue中也没有编写相关代码 */

console.log(e.detail.data)

},

四、vue接收小程序传递过来的数据

/* 在vue的create或是mounted生命周期函数中获取从小程序传递过来的数据 */

console.log(window.location.herf)

/** 接收小程序端传递过来的数据, 用console.log()输出看不出来。可以把它赋值给页面data中的变量,显示在页面上。 **/

data(){

return {

getWChatData: ''

}

}

mounted: function () {

console.log(window.location.href.split('?')[1])

this.getWChatData = window.location.href.split('?')[1]

/*** H5接收小程序传来的一个参数,类型是,字符串或是数字等 ***/

(window.location.href).split('?')[1].split('=')[1]

/**** H5接收小程序传递过来的一个参数,类型是,object,需要先在小程序中进行数据转化,const initParams = encodeURIComponent(JSON.stringify(initData))initdata是对象类型的数据(console.log(typeof(initdata)))。web-view的url(写在小程序js文件中的)就是:'http://192.168.0.110:8080/#/index?initParamsFormWChat='+initParams****/

JSON.parse(

decodeURIComponent(window.location.href).split('?')[1].split('=')[1]

)

}

五、H5传参给小程序npm install weixin-js-sdk

在使用的vue单页面内引入:import wx from 'weixin-js-sdk'

// 在H5页面点击某一个元素,触发返回到小程序(使用了vant的button组件)危险按钮

/**js**/

methods: {

onCLick () {

wx.miniProgram.postMessage({

data: {

info: '返回数据了'

}

})

wx.miniProgram.redirectTo({

url: '/pages/index/index' // 小程序中页面的路径 })

}

},

六、在微信开发者工具的模拟器中,跳转到的H5页面上,点击'危险按钮',调试器中可以看到,从vue返回的数据了,调试器中页面也显示了指定的小程序页面了/pages/index/index。

七、扫码测试,有时候显示接口错误提示。但是在微信开发者工具的模拟器中测试,不会有这个错误提示。

八、上线之前真实接口的调试上线使用的接口需登录小程序管理后台配置业务域名。

挖坑。。。。。。

九、缺点

H5与小程序混合开发,不能使用真实的线上地址开发还是有很多坑的,微信开发者工具还好,如果是扫码测试,提示接口错误。但是,也不能保证微信开发者工具的调试器的效果与真机测试一致。

vue 返回上一页传参_H5页面与微信小程序相互跳转并传参(web-view)相关推荐

  1. vue返回上一页并不刷新

    vue返回上一页并不刷新 vue返回上一页并不刷新 1.首先添加在主页面添加keep-alive <keep-alive ><router-view :key="key&q ...

  2. Vue 返回上一页页面不刷新

    Vue 返回上一页页面不刷新 场景:首页点进列表页时要刷新数据,信息页返回列表页时不刷新数据 首先在router.js中配置 {path: '/home',name: 'home',meta: {ti ...

  3. VUE 返回上一页 不刷新页面、重复进入同一页面created重复执行、每次进入页面时都执行created、vue单页面多路由,前进刷新,返回不刷新

    每次进入页面时都执行created.前进刷新,返回不刷新 思路: 利用 keep-alive与vue-router配合使用 ,判断哪些页面需要每次进入刷新,哪些页面不需要每次进入刷新: keepAli ...

  4. 解决VUE返回上一页,上一页空白问题

    问题: 我做项目的时候 发现vue返回上一页的时候, 有时候router不会读取router上的参数,就会导致我的项目空白. 思路: 让返回上一页的时候,上一页能读取到路由参数 解决: 根据上下页的n ...

  5. js实现返回上一页后刷新历史页面

    <input type="button" value="返回" οnclick="javascript:window.location.repl ...

  6. 微信小程序之父子间组件传参

    1.创建组件 打开微信开发者工具,创建组件,会生成四个文件:wxml,wxss,js,json 在wxml中: <view>我是组件A</view> 在js中: Compone ...

  7. 微信小程序和8266串口透传 控制8266 配网 微信公众号配网 app配网 物联网esp8266

    1234 生产 清空固件 为了出现莫名其妙的问题 下载固件 因为固件为某公司定制产品不能公开 更新配置 主要是为了让用户拿到手配网成功就能 连接mqtt 并且订阅 {"m":&qu ...

  8. 云开发 祖传七星彩等梦码微信小程序源码

    简介: 祖传七星彩等梦码微信小程序源码,安装搭建简单,云开发无后台 这个小程序的内容对于一般的小伙伴来说可能是一脸懵逼 但是对于海南和广东地区的小伙伴来说应该是不陌生 因为这两个地区的人可能都打七星彩 ...

  9. 最新祖传七星彩等梦码微信小程序源码+云开发

    正文: 祖传七星彩等梦码微信小程序源码,安装搭建简单,云开发无后台,这个小程序的内容对于一般的小伙伴来说可能是一脸懵逼. 但是对于海南和广东地区的小伙伴来说应该是不陌生,因为这两个地区的人可能都打七星 ...

最新文章

  1. learnpython有中文版吗_简介 | Learn Python the Hard Way 中文版
  2. nyoj 16 矩形嵌套 (DAG上的DP)
  3. 网易云信国际短信上线啦!
  4. Java中多线程的性能比较
  5. 微信小程序中的空格和换行操作
  6. 腾讯音乐2019Q2财报:在线音乐付费用户达到创纪录的3100万
  7. ReentrantLock释放锁源码
  8. Linux Apache Mysql PHP典范设置装备安排-2
  9. 拓端tecdat|使用R语言进行机制检测的隐马尔可夫模型HMM
  10. 王佩丰 Excel 24节课 学习笔记
  11. Java过滤器和拦截器的区别
  12. 你会如何选型电容?关于电容的ESR?如何理解电容的阻抗-频率曲线?
  13. 递归实现费氏数列:0,1,1,2,3,5,8,13,21,34,55,89,... ...
  14. isodata算法确定k均值聚类的k值
  15. 向量代数:混合积、双重外积与拉格朗日恒等式
  16. XTT钠盐 XTT sodium salt/Resorufin (high purity) 还原酶底物
  17. win10如何删除输入法_顽固输入法exe文件无法删除,一招教你如何删除,原来这么简单...
  18. Thread、Runnable、Callable基本操作线程基本概念
  19. 广度优先搜索:迷宫问题
  20. PHP MVC框架初探

热门文章

  1. java实现红包要多少钱_Java实现发红包功能
  2. python相比于excel的优势_都在讨论Python能否取代Excel,那有没有人想到它
  3. echarts怎么控制一个点沿着折线移动_计算机怎么识别图像中的直线?
  4. Chino with Geometry(数学,计算几何,记录一下推导证明)
  5. 2019年湘潭大学程序设计竞赛(重现赛)补题:F.Black White(尺取法)
  6. 无影云电脑居家办公最佳实践(AD域账号)
  7. 解读 WebRTC 音频 NetEQ 及优化实践
  8. 独家下载!2021前端热门技术解读
  9. 「禾连健康」轻松实现弹性降本20%以上,竟然是因为使用了它!
  10. 蚂蚁金服共享智能技术实践:如何降低数据共享的难度?