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 相关文章推荐
实用的JS正则表达式(手机号码/IP正则/邮编正则/电话等)
Jan 11 Javascript
Jquery EasyUI中弹出确认对话框以及加载效果示例代码
Feb 13 Javascript
浅析javascript的间隔调用和延时调用
Nov 12 Javascript
浅谈javascript对象模型和function对象
Dec 26 Javascript
jQuery实现的瀑布流加载效果示例
Sep 13 Javascript
js实现控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数
Oct 25 Javascript
Javascript(es2016) import和require用法和区别详解
Aug 11 Javascript
微信小程序录音与播放录音功能
Dec 25 Javascript
Vue+Element UI+Lumen实现通用表格分页功能
Feb 02 Javascript
js实现时钟定时器
Mar 26 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
May 19 jQuery
详解vue3.0 diff算法的使用(超详细)
Jul 01 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
在任意字符集下正常显示网页的方法一
2007/04/01 PHP
用来解析.htgroup文件的PHP类
2012/09/05 PHP
ThinkPHP之foreach标签使用概述
2014/06/30 PHP
php微信开发之百度天气预报
2016/11/18 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
PHP PDOStatement::nextRowset讲解
2019/02/01 PHP
PHP实现唤起微信支付功能
2019/02/18 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
2019/09/18 PHP
json原理分析及实例介绍
2012/11/29 Javascript
node.js中的querystring.escape方法使用说明
2014/12/10 Javascript
jQuery动态背景图片效果实现方法
2015/07/03 Javascript
javascript创建动态表单的方法
2015/07/25 Javascript
jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()
2015/08/09 Javascript
jquery实现简单实用的弹出层效果代码
2015/10/15 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
2015/12/17 Javascript
微信小程序 Record API详解及实例代码
2016/09/30 Javascript
微信小程序 动态绑定数据及动态事件处理
2017/03/14 Javascript
nodejs 子进程正确的打开方式
2017/07/03 NodeJs
Angular 4根据组件名称动态创建出组件的方法教程
2017/11/01 Javascript
基于vue组件实现猜数字游戏
2020/05/28 Javascript
JS使用setInterval实现的简单计时器功能示例
2018/04/19 Javascript
vue中v-for通过动态绑定class实现触发效果
2018/12/06 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
2020/03/05 Javascript
Python中函数的用法实例教程
2014/09/08 Python
详解Django中的过滤器
2015/07/16 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
2018/01/11 Python
Python中安装easy_install的方法
2018/11/18 Python
使用django的objects.filter()方法匹配多个关键字的方法
2019/07/18 Python
Python内存映射文件读写方式
2020/04/24 Python
Python中的__init__作用是什么
2020/06/09 Python
Python配置pip国内镜像源的实现
2020/08/20 Python
提供世界各地便宜的机票:Sky-tours
2016/07/21 全球购物
迁户口计划生育证明
2014/10/19 职场文书
2014年团队工作总结
2014/11/24 职场文书
MySQL InnoDB ReplicaSet(副本集)简单介绍
2021/04/24 MySQL
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
2021/05/24 Python