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 相关文章推荐
自定义右键属性覆盖浏览器默认右键行为实现代码
Feb 02 Javascript
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
Apr 28 Javascript
javascript中几个容易混淆的概念总结
Apr 14 Javascript
原生js实现图片层叠轮播切换效果
Feb 02 Javascript
js实现下拉菜单效果
Mar 01 Javascript
使用vue制作探探滑动堆叠组件的实例代码
Mar 07 Javascript
详解React+Koa实现服务端渲染(SSR)
May 23 Javascript
Node.js 多线程完全指南总结
Mar 27 Javascript
ECharts地图绘制和钻取简易接口详解
Jul 12 Javascript
es6中let和const的使用方法详解
Feb 24 Javascript
vue 二维码长按保存和复制内容操作
Sep 22 Javascript
vue下载二进制流图片操作
Oct 26 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
模拟OICQ的实现思路和核心程序(一)
2006/10/09 PHP
析构函数与php的垃圾回收机制详解
2013/10/28 PHP
ThinkPHP文件上传实例教程
2014/08/22 PHP
深入浅析PHP7.0新特征(五大新特征)
2015/10/29 PHP
实例简介PHP的一些高级面向对象编程的特性
2015/11/27 PHP
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
2019/10/11 PHP
利用javascript查看html源文件
2006/11/08 Javascript
使用js正则控制input标签只允许输入的值
2013/07/29 Javascript
javascript打印输出json实例
2013/11/11 Javascript
JavaScript控制table某列不显示的方法
2015/03/16 Javascript
js实现的简洁网页滑动tab菜单效果代码
2015/08/24 Javascript
精通JavaScript的this关键字
2020/05/28 Javascript
火狐和ie下获取javascript 获取event的方法(推荐)
2016/11/26 Javascript
AngularJS表单验证功能分析
2017/05/26 Javascript
vue页面使用阿里oss上传功能的实例(二)
2017/08/09 Javascript
浅谈Angular4中常用管道
2017/09/27 Javascript
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
Vue Router history模式的配置方法及其原理
2019/05/30 Javascript
Python 文件重命名工具代码
2009/07/26 Python
python网络编程之TCP通信实例和socketserver框架使用例子
2014/04/25 Python
Python编程实现的图片识别功能示例
2017/08/03 Python
numpy中实现ndarray数组返回符合特定条件的索引方法
2018/04/17 Python
pycharm远程linux开发和调试代码的方法
2018/07/17 Python
简单了解django orm中介模型
2019/07/30 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
Python基于template实现字符串替换
2020/11/27 Python
Python tkinter之ComboBox(下拉框)的使用简介
2021/02/05 Python
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
MyFrenchPharma中文网:最大的法国药妆平台
2016/10/07 全球购物
2014年班级工作总结范文
2014/12/23 职场文书
实习单位意见
2015/06/04 职场文书
国际贸易实训总结
2015/08/03 职场文书
编写python程序的90条建议
2021/04/14 Python
晶体管单管来复再生式收音机
2021/04/22 无线电
redis使用不当导致应用卡死bug的过程解析
2021/07/01 Redis
SpringBoot2零基础到精通之数据库专项精讲
2022/03/22 Java/Android