vue关于this.$refs.tabs.refreshs()刷新组件方式
目录
- this.$refs.tabs.refreshs()刷新组件
- 第一种:当前组件刷新
- 第二种:刷新父组件时
- 第三种:非关系组件
- vue组件重新加载(刷新)
- 如何刷新当前组件
this.$refs.tabs.refreshs()刷新组件 当更改了用户信息后,需要刷新页面或者组件。
第一种:当前组件刷新
定义一个请求用户信息的方法,在需要时调用:
sessionStorage.setItem(‘userInfo‘,JSON.stringify(this.userInfo)); //从session缓存中获取
第二种:刷新父组件时
子组件某个需要的地方:
this.$emit(‘refresh‘);
父组件:
methods:{refresh() {this.userInfo = JSON.parse(sessionStorage.getItem(‘userInfo‘)); }},
第三种:非关系组件
父组件:
//需要刷新的组件(非关系组件)methods:{refresh() {this.$refs.tabs.refreshs(); //刷新子组件 ,top-bar是vue组件实例的名字 ,tabs时引用的名字,refreshs是Vue自带的方法}},
vue组件重新加载(刷新)
方法:利用v-if控制router-view,在根组件APP.vue中实现一个刷新方法
//路由的组件
然后其它任何想刷新自己的路由页面,都可以这样:
this.reload()
如何刷新当前组件 公用内容动态改变了全局参数,要求切换后刷新当前组件所有请求,或重新加载当前组件。
因为我们在项目中加入了vue-routerapp.vue,就可以通过控制router-view去达到我们需求的效果。
同时也要用到 provide/inject,个人列表类似vuex的辅助函数,跨越层级关系引入(注入)你的某个方法。
app.Vue
然后在你修改全局参数的组件中加入
data(){ return{ }},inject:['reload'], // 在这个组件中注入这个方法//...事件中调用methods:{ changed(){this.reload() //调用 }}
【vue关于this.$refs.tabs.refreshs()刷新组件方式】我在项目中的具体表现
文章图片
通过切换期次,修改全局的请求参数,结合了Vuex,在下拉菜单所在的组件中注入app.vue中的方法,从而实现了目标效果。
切换期次,重新加载当前组件所有数据。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
推荐阅读
- 简单了解一下pinia的结构
- vue实现静态页面点赞和取消点赞功能
- vue中keep-alive组件实现多级嵌套路由的缓存
- vue学习|Vue基础实现bilibili移动端页面
- javascript|Vue.js全家桶仿哔哩哔哩动画 (移动端APP)
- vue|VUE哔哩哔哩移动端项目使用vant 实现发布功能(上传文件)
- 开源项目|Vue项目实战 —— 哔哩哔哩移动端开发
- 视频教程|Web 前端视频资源分享(Bootstrap/Vue/小程序)
- vuepress按照官方文档创建后跑起来乱码的原因
- 关于docker|关于docker compose安装redis集群的问题(集群扩容、集群收缩)