美文网首页
Vue 实现手动刷新组件

Vue 实现手动刷新组件

作者: 南波 | 来源:发表于2018-04-24 20:35 被阅读3149次

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

Layout.vue

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

methods: {

    fresh() {

        this.$store.dispatch("view/setViewId")

    }

}

相关文章

  • Vue 实现手动刷新组件

    开发过程遇到了一个问题,就是我的 router-view 里面渲染出来的组件输入数据之后,我点击 路由视图外边的导...

  • 使用Vue组件来实现下拉刷新容器

    vue-pullrefresh Vue组件实现下拉刷新功能 Github地址 效果图 Demo地址 使用方式 gi...

  • vue组件刷新

    1.app.vue 2.需要刷新的组件

  • Vue实践与总结——组件与数据

    Vue实现组件化流程 Vue提供了一套构建组件的API,用于声明和实现 根组件,可复用组件 Vue库提供了名为Vu...

  • Vue2.0 实战 之 上拉加载下拉刷新

    目前有很多方式可以实现上拉刷新下拉加载的功能 基于vue2.0并参考网上的一些实例完善了一个vue的组件来实现上拉...

  • vue组件刷新

    前两天,在工作中遇到一个特别难搞的问题,搞笑的是做梦梦到自己解决了,醒来却忘记了解决办法,确实挺绝望了,还好最后搞...

  • list-pull-loading基于vue实现上拉加载、下拉刷

    前言 list-pull-loading是一个基于VUE实现的下拉刷新,上拉加载的组件,支持图片懒加载,数据缓存(...

  • vue 强制刷新组件

    vue 强制刷新组件 使用vue进行开发时,如果要刷新当前路由,则调用router.go(0)方法即可。但是某些情...

  • vue官网重温笔记

    热重载:(hot-reloading)你修改页面之后,自动刷新,不用手动刷新 vue-cli的配置参考 (待仔...

  • vue 文字横向无缝走马灯组件

    marquee标签已经废弃了,只能手动实现文字走马灯样式 基于vue组件开发 感谢@艺术青年陈国良提醒,用ref获...

网友评论

      本文标题:Vue 实现手动刷新组件

      本文链接:https://www.haomeiwen.com/subject/bohslftx.html