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 相关文章推荐
JqGrid web打印实现代码
May 31 Javascript
jcrop基本参数一览
Jul 16 Javascript
JS实现切换标签页效果实例代码
Nov 01 Javascript
JS OffsetParent属性深入解析
Jan 13 Javascript
js上传图片预览的实现方法
May 09 Javascript
angular.extend方法的具体使用
Sep 14 Javascript
JS路由跳转的简单实现代码
Sep 21 Javascript
vue中的模态对话框组件实现过程
May 01 Javascript
vue 监听屏幕高度的实例
Sep 05 Javascript
微信小程序开发搜索功能实现(前端+后端+数据库)
Mar 04 Javascript
JavaScript鼠标悬停事件用法解析
May 15 Javascript
vue过滤器实现日期格式化的案例分析
Jul 02 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可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
PHP strtotime函数用法、实现原理和源码分析
2015/02/04 PHP
Zend Framework教程之前端控制器Zend_Controller_Front用法详解
2016/03/07 PHP
javascript全局变量封装模块实现代码
2012/11/28 Javascript
extjs表格文本启用选择复制功能具体实现
2013/10/11 Javascript
模拟一个类似百度google的模糊搜索下拉列表
2014/04/15 Javascript
百度地图给map添加右键菜单(判断是否为marker)
2016/03/04 Javascript
Js遍历键值对形式对象或Map形式的方法
2016/08/08 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
使用Angular.js实现简单的购物车功能
2016/11/21 Javascript
学习 NodeJS 第八天:Socket 通讯实例
2016/12/21 NodeJs
微信小程序分页加载的实例代码
2017/07/11 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
2017/09/15 Javascript
使用Angular CLI进行Build(构建)和Serve详解
2018/03/24 Javascript
vue中的模态对话框组件实现过程
2018/05/01 Javascript
详解angular如何调用HTML字符串的方法
2018/06/30 Javascript
微信公众平台获取access_token的方法步骤
2019/03/29 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
2019/04/10 Javascript
node.js通过Sequelize 连接MySQL的方法
2020/12/28 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
windows下pycharm安装、创建文件、配置默认模板
2018/07/31 Python
python pandas 时间日期的处理实现
2019/07/30 Python
Python 面向对象之封装、继承、多态操作实例分析
2019/11/21 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
解决python 执行sql语句时所传参数含有单引号的问题
2020/06/06 Python
python 安装移动复制第三方库操作
2020/07/13 Python
如何查看浏览器对html5的支持情况
2020/12/15 HTML / CSS
英语生日邀请函
2014/01/23 职场文书
学生安全责任书模板
2014/07/25 职场文书
小学生十佳少年事迹材料
2014/08/20 职场文书
2014县政府领导班子对照检查材料思想汇报
2014/09/25 职场文书
思想政治表现评语
2015/01/04 职场文书
办公用品管理制度
2015/08/04 职场文书
python设置 matplotlib 正确显示中文的四种方式
2021/05/10 Python
警用民用对讲机找不同
2022/02/18 无线电
pandas中关于apply+lambda的应用
2022/02/28 Python