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 相关文章推荐
jquery自动完成插件(autocomplete)应用之PHP版
Dec 15 Javascript
jquery ajax 调用失败的原因示例介绍
Sep 27 Javascript
jQuery jcrop插件截图使用方法
Nov 20 Javascript
JavaScript将数据转换成整数的方法
Jan 04 Javascript
Angularjs注入拦截器实现Loading效果
Dec 28 Javascript
jQuery Timelinr实现垂直水平时间轴插件(附源码下载)
Feb 16 Javascript
基于jquery实现智能提示控件intellSeach.js
Mar 17 Javascript
详解微信开发中snsapi_base和snsapi_userinfo及静默授权的实现
Mar 11 Javascript
JQuery 封装 Ajax 常用方法(推荐)
May 21 jQuery
JS 中LocalStorage和SessionStorage的使用
Aug 17 Javascript
JavaScript模块管理的简单实现方式详解
Jun 15 Javascript
JS中数据结构与算法---排序算法(Sort Algorithm)实例详解
Jun 17 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
通过dbi使用perl连接mysql数据库的方法
2014/04/16 PHP
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
使用JS取得焦点(focus)元素代码
2014/03/22 Javascript
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
jQuery中$.extend()用法实例
2015/06/24 Javascript
js生成随机数(指定范围)的实例代码
2016/07/10 Javascript
jQuery加密密码到cookie的实现代码
2017/04/18 jQuery
js实现把时间戳转换为yyyy-MM-dd hh:mm 格式(es6语法)
2017/12/28 Javascript
浅谈vue首屏加载优化
2018/06/28 Javascript
vue实现瀑布流组件滑动加载更多
2020/03/10 Javascript
antd配置config-overrides.js文件的操作
2020/10/31 Javascript
Ant Design Vue table中列超长显示...并加提示语的实例
2020/10/31 Javascript
javascript实现时钟动画
2020/12/03 Javascript
python二叉树的实现实例
2013/11/21 Python
python使用PyFetion来发送短信的例子
2014/04/22 Python
一个基于flask的web应用诞生 flask和mysql相连(4)
2017/04/11 Python
python使用KNN算法识别手写数字
2019/04/25 Python
Python队列RabbitMQ 使用方法实例记录
2019/08/05 Python
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
python实现飞船游戏的纵向移动
2020/04/24 Python
Python正则表达式如何匹配中文
2020/05/27 Python
tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
2020/06/30 Python
python3 通过 pybind11 使用Eigen加速代码的步骤详解
2020/12/07 Python
python实现简单的学生管理系统
2021/02/22 Python
一款利用html5和css3实现的3D立方体旋转效果教程
2016/04/26 HTML / CSS
基于HTML5 Canvas 实现商场监控实例详解
2017/11/20 HTML / CSS
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
Move Free官方海外旗舰店:美国骨关节健康专业品牌
2017/12/06 全球购物
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
经销商培训邀请函
2014/01/21 职场文书
绿色环保演讲稿
2014/05/10 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
离婚协议书样本
2015/01/26 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
如何解决.cuda()加载用时很长的问题
2021/05/24 Python
python 进阶学习之python装饰器小结
2021/09/04 Python