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 相关文章推荐
一行代码告别document.getElementById
Jun 01 Javascript
用原生JavaScript实现jQuery的$.getJSON的解决方法
May 03 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
Sep 17 Javascript
js 开发之autocomplete="off"在chrom中失效的解决办法
Sep 28 Javascript
AngularJS动态添加数据并删除的实例
Feb 27 Javascript
在angular 6中使用 less 的实例代码
May 13 Javascript
vue监听键盘事件的快捷方法【推荐】
Jul 11 Javascript
js实现unicode码字符串与utf8字节数据互转详解
Mar 21 Javascript
详解vue-cli@2.x项目迁移日志
Jun 06 Javascript
解决layer.confirm选择完之后消息框不消失的问题
Sep 16 Javascript
多页vue应用的单页面打包方法(内含打包模式的应用)
Jun 11 Javascript
vue+elementUI动态增加表单项并添加验证的代码详解
Dec 17 Vue.js
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实用函数分享之去除多余的0
2015/02/06 PHP
Prototype使用指南之range.js
2007/01/10 Javascript
jquery.cookie.js 操作cookie实现记住密码功能的实现代码
2011/04/27 Javascript
Javascript实现真实字符串剩余字数提示的实例代码
2013/10/22 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
js 获取input点选按钮的值的方法
2014/04/14 Javascript
jQuery中:file选择器用法实例
2015/01/04 Javascript
JS+CSS实现实用的单击输入框弹出选择框的方法
2015/02/28 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
2015/06/23 Javascript
JavaScript代码实现图片循环滚动效果
2020/03/19 Javascript
基于JavaScript实现验证码功能
2017/04/01 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
nodejs利用ajax实现网页无刷新上传图片实例代码
2017/06/06 NodeJs
解决vue中无法动态修改jqgrid组件 url地址的问题
2018/03/01 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
2018/05/28 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
2018/05/31 jQuery
vue中使用echarts制作圆环图的实例代码
2018/07/27 Javascript
vue.js与后台数据交互的实例讲解
2018/08/08 Javascript
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
微信小程序使用GoEasy实现websocket实时通讯
2020/05/19 Javascript
javascript实现移动端红包雨页面
2020/06/23 Javascript
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
Python编码类型转换方法详解
2016/07/01 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
2018/05/10 Python
浅谈flask源码之请求过程
2018/07/26 Python
python 寻找离散序列极值点的方法
2019/07/10 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
2019/07/23 Python
Hotels.com南非:酒店预订
2017/11/02 全球购物
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
关于迟到的检讨书
2014/01/26 职场文书
数控专业个人求职信范文
2014/02/05 职场文书
保护环境倡议书
2014/04/14 职场文书
读书伴我成长演讲稿
2014/05/07 职场文书
2016教师六五普法学习心得体会
2016/01/21 职场文书
python中tkinter复选框使用操作
2021/11/11 Python
MySQL事务操作的四大特性以及并发事务问题
2022/04/12 MySQL