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 相关文章推荐
动态创建的表格单元格中的事件实现代码
Dec 30 Javascript
fckeditor 获取文本框值的实现代码
Feb 09 Javascript
javascript demo 基本技巧
Dec 18 Javascript
jQuery最佳实践完整篇
Aug 20 Javascript
关于scrollLeft,scrollTop的浏览器兼容性测试
Mar 19 Javascript
如何使用jquery控制CSS样式,并且取消Css样式(如背景色,有实例)
Jul 09 Javascript
extjs 时间范围选择自动判断的实现代码
Jun 24 Javascript
使用javascript实现Iframe自适应高度
Dec 24 Javascript
js实现上下左右弹框划出效果
Mar 08 Javascript
vue js秒转天数小时分钟秒的实例代码
Aug 08 Javascript
JavaScript闭包原理与用法学习笔记
May 29 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
Oct 28 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
磨咖啡豆的密诀
2021/03/03 冲泡冲煮
php session应用实例 登录验证
2009/03/16 PHP
PHP 远程关机实现代码
2009/11/10 PHP
PHP统计目录下的文件总数及代码行数(去除注释及空行)
2011/01/17 PHP
PHP中的正则表达式函数介绍
2012/02/27 PHP
php读取和保存base64编码的图片内容
2017/04/22 PHP
Yii2框架实现登陆添加验证码功能示例
2018/07/12 PHP
一个网马的tips实现分析
2010/11/28 Javascript
javascript 动态创建表格的2种方法总结
2015/03/04 Javascript
jQuery实现鼠标选文字发新浪微博的方法
2016/04/02 Javascript
JavaScript动态检验密码强度的实现方法
2016/11/09 Javascript
详解JS几种变量交换方式以及性能分析对比
2016/11/25 Javascript
jQuery中 DOM节点操作方法大全
2017/10/12 jQuery
three.js中文文档学习之如何本地运行详解
2017/11/20 Javascript
Vue三种常用传值示例(父传子、子传父、非父子)
2018/07/24 Javascript
vue-property-decorator用法详解
2019/12/12 Javascript
js实现tab栏切换效果
2020/08/02 Javascript
python生成器generator用法实例分析
2015/06/04 Python
Python实现图片转字符画的示例
2017/08/22 Python
python timestamp和datetime之间转换详解
2017/12/11 Python
python编程嵌套函数实例代码
2018/02/11 Python
详谈python在windows中的文件路径问题
2018/04/28 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
Python中的异常处理try/except/finally/raise用法分析
2019/02/28 Python
Python 3 实现定义跨模块的全局变量和使用教程
2019/07/07 Python
Django如何使用第三方服务发送电子邮件
2019/08/14 Python
利用HTML5 Canvas API绘制矩形的超级攻略
2016/03/21 HTML / CSS
Lookfantastic美国/加拿大:英国知名美妆购物网站
2019/03/27 全球购物
意大利和国际奢侈品牌购物网站:Suitnegozi.com
2021/01/15 全球购物
西安众合通用.net笔试题
2013/03/18 面试题
标准自荐信范文
2014/01/29 职场文书
合作经营协议书范本
2014/04/17 职场文书
餐饮商业计划书范文
2014/04/29 职场文书
药品营销专业毕业生自荐信
2014/07/02 职场文书
Vue的列表之渲染,排序,过滤详解
2022/02/24 Vue.js
微信小程序 根据不同用户切换不同TabBar
2022/04/21 Javascript