• 技术文章 >web前端 >Vue.js

    vue.js怎样刷新组件

    coldplay.xixicoldplay.xixi2020-11-30 15:47:07原创915

    vue.js刷新组件的方法:首先给【router-view】标签添加key属性将key绑定的值放在状态管理容器里面;然后通过状态管理容器的mutations或者actions触发key值的变化即可。

    本教程操作环境:windows10系统、vue2.9,本文适用于所有品牌的电脑。

    【相关文章推荐:vue.js

    vue.js刷新组件的方法:

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

    f2e9febed2118362a9d7654cebe2b79.png

    触发 viewid,使 router-view 对应的路由组件刷新的地方,比如导航栏组件。

    methods: {
      fresh() {
        this.$store.dispatch("view/setViewId")
      }
    }

    相关免费学习推荐:javascript(视频)

    以上就是vue.js怎样刷新组件的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:vue.js 刷新组件
    上一篇:在vue.js怎么将时间戳换算成时间 下一篇:vue.js怎么获取dom

    相关文章推荐

    • mescroll.js上拉加载下拉刷新组件详解

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网