vue实现点击关注后及时更新列表功能


Posted in Javascript onJune 26, 2018

vue实现点击关注后及时更新列表功能

如图,我要实现点击关注之后列表及时更新成最新的列表。

思路很简单,主要是两点:

1、在点击关注之后去执行一个请求新的关注列表的action;

2、在vue组件中watch监听已关注列表和推荐关注列表

主要代码如下:

组件:

关注的methods:

followMethod(item){
     if(this.token){
      this.$store.dispatch('follow',{followUserId:item.pubId,page:this.page,size:this.size});
      this.$set(item,"followStatus",true);
//      this.$store.dispatch('refreshFollowList',{page:0,size:this.size});
     }else{
      Toast({
       message: "请先登录",
       duration: 800
      });
      setTimeout(function () {
       this.$router.push('/login');
      },800)
     }
   },

watch:

followList(curVal, oldVal){
    console.log(curVal)
   },
   userFollowList(curVal, oldVal){
    console.log(curVal)
   },

followList.js vuex的列表module文件:

action:

follow({dispatch,commit},payload){
  axios({
   method:"post",
   url:"web/follow/add",
   headers: {'w-auth-token': Cookies.get('token')},
   params:{
    page:payload.page,
    size:payload.size
   },
   data:{
    followUserId:payload.followUserId
   }
  }).then((res) => {
   Toast("关注成功");
   return dispatch('refreshFollowList')
  }).catch((error) => {
   Toast("关注出错,请重试!");
  });
 }

refreshFollowList({state,commit}){
  if(token){
   axios.all([
    axios({
     method:"get",
     url:"web/pub/recommend",
     headers: {'w-auth-token': token},
    }),
    axios({
     method:"get",
     url:"web/pub/list_pub_and_top_news",
     headers: {'w-auth-token': Cookies.get('token')},
    })
   ]).then(axios.spread(function(res1,res2){
    commit("REFRESHFOLLOWLIST",res1);
    commit("REFRESHUSERFOLLOWLIST",res2);
   }));
  }else{
   axios({
    method:"get",
    url:"web/pub/recommend",
   }).then(function(res){
    commit("REFRESHFOLLOWLIST",res);
   });
  }
 },

mutation:

const mutations = {
 REFRESHFOLLOWLIST(state,res){
   state.followList=res.data.content;
   state.totalPages=res.data.totalPages;
 },
 REFRESHUSERFOLLOWLIST(state,res){
  state.userFollowList=res.data.content;
  state.userTotalPages=res.data.userTotalPages;
 },
};

总结

以上所述是小编给大家介绍的vue实现点击关注后及时更新列表功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
通过隐藏option实现select的联动效果
Nov 10 Javascript
javascript smipleChart 简单图标类
Jan 12 Javascript
jQuery截取指定长度字符串代码
Aug 21 Javascript
Javascript中的apply()方法浅析
Mar 15 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
Jun 23 Javascript
多个js毫秒倒计时同时进行效果
Jan 05 Javascript
JS在一定时间内跳转页面及各种刷新页面的实现方法
May 26 Javascript
JavaScript代码实现图片循环滚动效果
Mar 19 Javascript
javascript九宫格图片随机打乱位置的实现方法
Mar 15 Javascript
JavaScript 严格模式(use strict)用法实例分析
Mar 04 Javascript
vue element table中自定义一些input的验证操作
Jul 18 Javascript
vue项目页面嵌入代码块vue-prism-editor的实现
Oct 30 Javascript
微信小程序项目总结之点赞 删除列表 分享功能
Jun 25 #Javascript
nuxt.js 缓存实践
Jun 25 #Javascript
vue2.0使用v-for循环制作多级嵌套菜单栏
Jun 25 #Javascript
浅谈super-vuex使用体验
Jun 25 #Javascript
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
Jun 25 #Javascript
使用vue的transition完成滑动过渡的示例代码
Jun 25 #Javascript
JS实现仿微信支付弹窗功能
Jun 25 #Javascript
You might like
php 无限级数据JSON格式及JS解析
2010/07/17 PHP
JpGraph php柱状图使用介绍
2011/08/23 PHP
PHP转换文件夹下所有文件编码的实现代码
2013/06/06 PHP
ThinkPHP模板替换与系统常量及应用实例教程
2014/08/22 PHP
php中使用gd库实现下载网页中所有图片
2015/05/12 PHP
php实现在站点里面添加邮件发送的功能
2020/04/28 PHP
Ext.get() 和 Ext.query()组合使用实现最灵活的取元素方式
2011/09/26 Javascript
js获取input长度并根据页面宽度设置其大小及居中对齐
2014/08/22 Javascript
Javascript调用函数方法的几种方式介绍
2015/03/20 Javascript
JS实现简单的键盘打字的效果
2015/04/24 Javascript
JS实现淡蓝色简洁竖向Tab点击切换效果
2015/10/06 Javascript
基于jQuery实现select下拉选择可输入附源码下载
2016/02/03 Javascript
使用Javascript实现选择下拉菜单互移并排序
2016/02/23 Javascript
基于jquery实现即时检查格式是否正确的表单
2016/05/06 Javascript
JS模拟的Map类实现方法
2016/06/17 Javascript
jQuery EasyUI基础教程之EasyUI常用组件(推荐)
2016/07/15 Javascript
基于jQuery实现滚动切换效果
2016/12/02 Javascript
基于Vue实现关键词实时搜索高亮显示关键词
2018/07/21 Javascript
LayUI动态设置checkbox不显示的解决方法
2019/09/02 Javascript
layui 根据后台数据动态创建下拉框并同时默认选中的实例
2019/09/02 Javascript
vuex存值与取值的实例
2019/11/06 Javascript
vue-drawer-layout实现手势滑出菜单栏
2020/11/19 Vue.js
[01:19:33]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第一场 2月2日
2021/03/11 DOTA
python实现socket端口重定向示例
2014/02/10 Python
用于ETL的Python数据转换工具详解
2020/07/21 Python
Python基础教程之输入输出和运算符
2020/07/26 Python
pycharm + django跨域无提示的解决方法
2020/12/06 Python
手摸手教你用canvas实现给图片添加平铺水印的实现
2019/08/20 HTML / CSS
DHC中国官方购物网站:日本通信销售No.1化妆品
2016/08/20 全球购物
秋季运动会广播稿
2014/02/22 职场文书
生产部厂长助理职位说明书
2014/03/03 职场文书
八项规定整改方案
2014/10/01 职场文书
乡镇群众路线教育实践活动整改措施
2014/10/04 职场文书
2016年“我们的节日·中秋节”活动总结
2016/04/05 职场文书
Nginx快速入门教程
2021/03/31 Servers
Python中glob库实现文件名的匹配
2021/06/18 Python