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


Posted in Javascript onFebruary 19, 2019

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

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

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery-tableDnD 拖拽的基本使用介绍
Jul 04 Javascript
js实现幻灯片效果(基于jquery插件)
Nov 05 Javascript
jQuery处理图片加载失败的常用方法
Jun 08 Javascript
理解 JavaScript Scoping & Hoisting(二)
Nov 18 Javascript
基于angularjs实现图片放大镜效果
Aug 31 Javascript
JavaScript累加、迭代、穷举、递归等常用算法实例小结
May 08 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
Jul 19 Javascript
浅谈微信JS-SDK 微信分享接口开发(介绍版)
Aug 15 Javascript
用Vue.js方法创建模板并使用多个模板合成
Jun 28 Javascript
js prototype深入理解及应用实例分析
Nov 25 Javascript
Vue简单封装axios之解决post请求后端接收不到参数问题
Feb 16 Javascript
Vue切换div显示隐藏,多选,单选代码解析
Jul 14 Javascript
jQuery选择器之层次选择器用法实例分析
Feb 19 #jQuery
jQuery选择器之基本选择器用法实例分析
Feb 19 #jQuery
jQuery实现为table表格动态添加或删除tr功能示例
Feb 19 #jQuery
详解vue几种主动刷新的方法总结
Feb 19 #Javascript
jQuery事件多次绑定与解绑问题实例分析
Feb 19 #jQuery
Vue动态路由缓存不相互影响的解决办法
Feb 19 #Javascript
JS实现的全选、全不选及反选功能【案例】
Feb 19 #Javascript
You might like
PHP中的CMS的涵义
2007/03/11 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
PHP的运行机制与原理(底层)
2015/11/16 PHP
PHP实现的文件操作类及文件下载功能示例
2016/12/24 PHP
改善你的jQuery的25个步骤 千倍级效率提升
2010/02/11 Javascript
js中将URL中的参数提取出来作为对象的实现代码
2011/08/16 Javascript
jQuery遍历json中多个map的方法
2015/02/12 Javascript
开启BootStrap学习之旅
2016/05/04 Javascript
详解vuex 渐进式教程实例代码
2018/11/27 Javascript
js实现倒计时器自定义时间和暂停
2019/02/25 Javascript
Vue.js下拉菜单组件使用方法详解
2019/10/19 Javascript
VUE单页面切换动画代码(全网最好的切换效果)
2019/10/31 Javascript
NodeJS实现一个聊天室功能
2019/11/25 NodeJs
Vue 的 v-model用法实例
2020/11/23 Vue.js
[55:04]海涛DOTA2死魂复燃6.82版本介绍
2014/09/28 DOTA
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
在Linux上安装Python的Flask框架和创建第一个app实例的教程
2015/03/30 Python
python开发之文件操作用法实例
2015/11/13 Python
python互斥锁、加锁、同步机制、异步通信知识总结
2018/02/11 Python
python使用wxpy实现微信消息防撤回脚本
2019/04/29 Python
Python检测数据类型的方法总结
2019/05/20 Python
如何在python中写hive脚本
2019/11/08 Python
Python3 xml.etree.ElementTree支持的XPath语法详解
2020/03/06 Python
Python常用数据分析模块原理解析
2020/07/20 Python
PyCharm2019 安装和配置教程详解附激活码
2020/07/31 Python
详解background属性的8个属性值(面试题)
2020/11/02 HTML / CSS
HTML5 video播放器全屏(fullScreen)方法实例
2015/04/24 HTML / CSS
美国第一香水网站:Perfume.com
2017/01/23 全球购物
英国家用电器购物网站:Hughes
2018/02/23 全球购物
沙特阿拉伯家用电器和电子产品购物网站:Sheta and Saif
2020/04/03 全球购物
财务副总经理工作职责
2013/11/25 职场文书
2014公司党员自我评价范文
2014/09/11 职场文书
2019年警察入党转正申请书最新范文
2019/09/03 职场文书
apache基于端口创建虚拟主机的示例
2021/04/24 Servers
如何用RabbitMQ和Swoole实现一个异步任务系统
2021/05/29 PHP