vue无痕刷新组件
在vue项目中,很多场景需要我们刷新组件,一般常用的两种刷新方法:
1 | window.location.reload(),原生 js 提供的方法; |
这两种方法都可以达到页面刷新的目的,简单粗暴,但是用户体验不好,相当于按 F5 刷新页面,页面的重新载入,会有短暂的白屏。
那么,怎么实现无痕刷新呢?
原理:
先在全局组件注册一个方法,用该方法控制router-view的显示与否,然后在子组件调用。
步骤:
- v-if控制
的显示。 - provide:全局注册方法。
- methods:设置reload方法。
- 在子组件中使用inject插入父组件的刷新方法。
第一步
在app.vue里面设置:
1 | <template> |
第二步
在.vue子组件中使用,先用inject注册,然后即可通过this调用:
1 | <script> |
如此,就可以随时刷新当前组件了!
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 webRambler-blog!
评论