Vue 实现手动刷新组件的方法
2019-03-28 11:00
1091 查看
开发过程遇到了一个问题,就是我的 router-view 里面渲染出来的组件输入数据之后,我点击 路由视图外边的导航栏 router-link 按钮,可以实现清除 router-view 里面的数据,也就是使组件重新渲染。vm.$forceUpdate()这个方法可以使当前组件调用这个方法时,重新渲染组件。给 router-view 标签添加 key 属性将 key 绑定的值放在状态管理容器里面,通过 状态管理容器的 mutations 或者 actions 触发 key 值的变化,即可实现重新渲染组件的目的。相关实现代码如下
// store/view.js const state = { viewId: 1 }; const getters = { getViewId: state => { return state.viewId; } }; const mutations = { setViewId: (state, payload) => { state.viewId++; } }; const actions = { setViewId: (context, payload) => { context.commit("setViewId", payload); } }; export default { namespaced: true, state, getters, mutations, actions };
放置 router-view 标签的Layout 组件
触发 viewid,使 router-view 对应的路由组件刷新的地方,比如导航栏组件。
methods: { fresh() { this.$store.dispatch("view/setViewId") } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- 移动端刷新组件XtnScroll--Vue实现
- Vue.js 的移动端组件库mint-ui实现无限滚动加载更多的方法
- Vue-Router来实现组件间跳转的三种方法
- Vue中自定义全局组件的实现方法
- vue笔记之组件案例-实现评论的发表和自动刷新列表
- vue2.0结合DataTable插件实现表格动态刷新的方法详解
- vue+webpack实现异步组件加载的方法
- vue-router 如何在当前路由下重新点击当前路由的router-link实现刷新 组件重新渲染
- vue刷新页面时去闪烁提升用户体验效果的实现方法
- Vue 组件(component)教程之实现精美的日历方法示例
- vue.js实现刷新当前页面的方法教程
- Vue父子组件双向绑定传值的实现方法
- vue 手动实现无刷新分页
- vue项目每30秒刷新1次接口的实现方法
- 基于Vue中点击组件外关闭组件的实现方法
- vue组件传递对象中实现单向绑定的方法
- 利用Vue实现移动端图片轮播组件的方法实例
- vue组件实现文字居中对齐的方法
- 解决element-ui中el-menu组件作为vue-router模式在刷新页面后default-active属性与当前路由页面不一致问题的方法
- 利用vue组件自定义v-model实现一个Tab组件方法示例