问题一、微信浏览器中无法使用reload重载文档【VUE框架】

问题分析:

  • 微信不支持location.reload()方法,在微信浏览器中会失效
  • Vue中的路由跳转是类似于ajax局部刷新,因此使用location.href=‘xxx+时间戳’ 这种方法时,页面不会重载
  • Vue自带的this.$router.go(0)无效
  • history.go(0)无效

vue框架开发解决:

在App.vue中,先在provide中注册一个用于页面重载的方法

<template>
<div class="app-wrapper">
<router-view v-if="isRouterAlive" />
</div>
</template> <script>
export default {
name: 'app',
provide () {
return {
appReload: this.reload // 通过provider来提供变量
}
},
data () {
return {
isRouterAlive: true // 解决微信端页面刷新问题
}
},
methods: {
// 实现重载
reload () {
this.isRouterAlive = false
this.$nextTick(() => {
this.isRouterAlive = true
})
}
}
}
</script>

然后在子组件中通过inject来注入变量,直接调用reload就可以了

<template>
<div>
<button @click="handlerReload">刷新</button>
</div>
</template> <script>
export default {
inject: ['appReload'], // 通过inject来注入变量
methods: {
handlerReload () {
this.appReload()
}
}
}
</script>

扩展知识:

provider/inject:简单的来说就是在父组件中通过provider来提供变量,然后在子组件中通过inject来注入变量。
这对选项需要一起使用,以允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在起上下游关系成立的时间里始终生效。

参考资料:https://blog.csdn.net/Lucky_Q/article/details/89097423

微信web开发问题记录的更多相关文章

  1. 微信web开发工具

    http://mp.weixin.qq.com/wiki/10/e5f772f4521da17fa0d7304f68b97d7e.html#.E4.B8.8B.E8.BD.BD.E5.9C.B0.E5 ...

  2. Web开发问题记录

    1.先说一个CSS的:CSS中带有中文(比如字体定义)的属性定义最好放在该选择器定义诸项的最后一条,为什么----编码格式问题. 2.其实自己也可以用自己写的DispatcherServlet+jsp ...

  3. 微信web开发的上传图片js接口

    $('.chooseImage').click(function(){ wx.chooseImage({ count: pic_num, // 默认9,大于9也是显示9 sizeType: ['com ...

  4. WeUI 为微信 Web 服务量身设计-h5前端框架

    WeUI是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信 Web 开发量身设计,可以令用户的使用感知更加统一.包含button.cell.dialog. progress. toas ...

  5. 微信web调试工具

    做微信公众号开发的时候,最头疼的一件事,莫过于bug调试了. 由于有些功能涉及到权限问题,必须在微信公众号内打开,所以对开发人员来说就是遇到了一场噩梦. 这里有两种方法: 1.工具:mac.使用微信m ...

  6. 5款微信小程序开发工具使用报告,微信官方开发工具还有待提升

    微信小程序已经内测有一段时间了,笔者本着好奇加学习的心态写了几个小demo,虽然在MINA框架上并没有遇到太多的坑,但官方开发工具实在不敢恭维. api提示不全,要一个个查api啊,写代码超级慢啊 很 ...

  7. mac版微信web开发者工具(小程序开发工具)无法显示二维码 解决方案

    微信小程序概念的提出,绝对可以算得上中国IT界惊天动地的一件大事,这可能意味着一场新的开发热潮即将到来, 我也怀着激动的心情准备全身心投入其中,不过截止目前,在官方网站上下载的最新版本都无法使用,打开 ...

  8. 读《31天学会CRM项目开发》记录4 - WEB服务配置

    好几天没有更新记录了,因为最近都在看本书的基础内容,然后跟着练习.等看到数据库部分,就晕菜了,只能草草浏览一遍,想在后面的实战中再加强. 下面是对IIS 和ASP.NET的配置! 一.什么是IIS? ...

  9. Java微信公众平台开发(十四)【番外篇】--微信web开发者工具使用

    转自:http://www.cuiyongzhi.com/post/58.html 为帮助开发者更方便.更安全地开发和调试基于微信的网页,微信推出了 web 开发者工具.它是一个桌面应用,通过模拟微信 ...

随机推荐

  1. [C++] new和delete运算符使用方法

    new 和 delete 是C++语言中的两个运算符,配套使用. new:用于分配内存,与C语言中的 malloc 相同,分配在堆内存 delete:用于释放内存,与C语言中的 free 相同,释放堆 ...

  2. #C++初学记录(STL容器以及迭代器)

    STL初步 提交ACM会TLE /仅以学习STL与迭代器使用 C. Cards Sorting time limit per test1 second memory limit per test256 ...

  3. Comparator中返回0导致数据丢失的大坑

    今天对一列数据进行排序,因为存储的是Map结构,要实现排序,马上就想到了TreeMap,于是查到API,这样新建TreeMap就能实现添加的时候就自动排序. new TreeMap<>(n ...

  4. slot 插槽子组件向父组件传值

    slot 插槽要实现子组件向父组件传值,则需要运用 作用域插槽 1.父组件中用 标签加上 slot-scoped 的属性,属性值随性.(旧版本是scope,vue新版本必须用slot-scope) 2 ...

  5. Eclipse导入工程提示“No projects are found to import”

    如果发现导入工程的时候,出现"No projects are found to import" 的提示,首先查看项目目录中是否有隐藏文件.project,还有目录结构也还要有一个隐 ...

  6. android -------- DES加密解密算法

    DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信 ...

  7. [转]Vue-Devtools安装配置教程(献给伸手党)

    原文地址:https://blog.csdn.net/weixin_38654336/article/details/80790698 可以先看视频教程:链接 最简便的方法是用FQ来通过google应 ...

  8. Chrome DevTools 之 Network,网络加载分析利器

    链接:https://www.jianshu.com/p/471950517b07 虽然一直在用Chrome DevTools,但大多停留在常用的功能和调试上,比如Elements/Network/S ...

  9. 必须要注意的 C++ 动态内存资源管理(二)——指针对象简单实现

    必须要注意的 C++动态内存资源管理(二)——指针对象简单实现 四.拷贝类型的资源         上节我们说过,对于图片类型的资源我们有时候往往采用拷贝(如果对于那种公共图片,可能采用唯一副本,提供 ...

  10. EasyDSS高性能RTMP、HLS(m3u8)、FLV、RTSP流媒体服务器运行遇到getpwnam(_xxxxx_)错误的解决办法

    EasyDSS RTMP流媒体服务器是什么? EasyDarwin如何支持点播和RTMP/HLS直播?EasyDSS! getpwnam("xxxxx") 近期有EasyDSS流媒 ...