当前位置: 移动技术网 > IT编程>脚本编程>vue.js > Vue 实现手动刷新组件的方法

Vue 实现手动刷新组件的方法

2019年05月28日  | 移动技术网IT编程  | 我要评论

拳击黑市,陕西人民政府,游手好钱

开发过程遇到了一个问题,就是我的 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")
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网