Vuex利用state保存新闻数据实例


Posted in Javascript onJune 28, 2017

Vuex利用state保存新闻数据实例

回顾

以前我们在做这个新闻列表的时候,是一个写死的数据

export default{
    data(){
      return{
        newslist:[
          {newsid:"101",pubtime:"2016-10-29",title:"探索之路",desc:"是手机团队的探索之路"},
          {newsid:"102",pubtime:"2016-10-28",title:"系统之战",desc:"如何支持业务解决"},
          {newsid:"103",pubtime:"2016-10-27",title:"大文件存储",desc:"背后的你不得不知的技术"},
          {newsid:"104",pubtime:"2016-10-26",title:"飞天进化",desc:"阿里巴巴技术委员会"},
        ]
      }
    },
  }

然后在模板上循环:

<div class="page-header" v-for="news in newslist">

今天我们来学习从服务器获取数据

news-list.vue:

export default{
    created(){
      if (this.$store.state.newslist.length == 0){
        // 请求服务器获取数据
        this.$http.get("http://localhost/news.php").then(function (res) {
          this.$store.state.newslist = res.body;
        },function (res) {
          // 请求失败处理
        })
      }
    }
  }

组件生命周期(创建)里请求服务器获取数据,然后保存到了state 里:

this.$store.state.newslist = res.body;

newslist 在实例化Vuex.Store 的时候定义,入口文件index.js里:

state:{
    user_name:"",
    newslist:[]
  },

组件模板上就要这样循环了:

v-for="news in this.$store.state.newslist"

Vuex利用state保存新闻数据实例

数据过滤

处理服务器返回来的数据,比如我们这里news.PHP 的返回的json数据:

[{"id":101,"pubtime":"2016-10-29","title":"探索之路","desc":"是手机团队的探索之路","isdeleted":false},{"id":102,"pubtime":"2016-10-29","title":"排行榜","desc":"如何支持业务接入?选择什么存储引擎?","isdeleted":false},{"id":103,"pubtime":"2016-10-29","title":"大文件存储","desc":"讲大型二进制文件存储,只包含那些文件的轻量级引用","isdeleted":true}]

我们要根据isdeleted 做数据过滤,不多说,先看代码:

import Vuex from 'vuex';
Vue.use(Vuex);

const vuex_store = new Vuex.Store({
  state:{
    user_name:"",
    newslist:[]
  },
  mutations:{
    showUserName(state){
      alert(state.user_name);
    }
  },
  getters:{
    getNews(state){
      return state.newslist.filter(function (news) {
        return !news.isdeleted;
      })
    }
  }
})

getters 专门写了一个方法,做了数据过滤处理,保留isdeleted为false 的记录。

那么我们在组件模板上循环的时候也要修改一下了:

v-for="news in this.$store.getters.getNews"

Vuex利用state保存新闻数据实例  

过滤之后,只有2条数据了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
LazyLoad 延迟加载(按需加载)
May 31 Javascript
js读取被点击次数的简单实例(从数据库中读取)
Mar 07 Javascript
jQuery ready()和onload的加载耗时分析
Sep 08 Javascript
jQuery实现web页面樱花坠落的特效
Jun 01 jQuery
jquery.validate表单验证插件使用详解
Jun 21 jQuery
JS库之Highlight.js的用法详解
Sep 13 Javascript
浅谈Node.js 子进程与应用场景
Jan 24 Javascript
微信小程序新手教程之页面打开数量限制
Mar 03 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
May 07 Javascript
配置node服务器并且链接微信公众号接口配置步骤详解
Jun 21 Javascript
微信小程序基于movable-view实现滑动删除效果
Jan 08 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
Apr 21 Javascript
微信浏览器禁止页面下拉查看网址实例详解
Jun 28 #Javascript
基于EasyUI的基础之上实现树形功能菜单
Jun 28 #Javascript
webpack学习--webpack经典7分钟入门教程
Jun 28 #Javascript
BootStrap Table前台和后台分页对JSON格式的要求
Jun 28 #Javascript
vue2项目使用sass的示例代码
Jun 28 #Javascript
微信小程序之网络请求简单封装实例详解
Jun 28 #Javascript
详解webpack+angular2开发环境搭建
Jun 28 #Javascript
You might like
打造计数器DIY三步曲(上)
2006/10/09 PHP
用PHP的ob_start() 控制您的浏览器cache
2009/08/03 PHP
php字符串函数学习之strstr()
2015/03/27 PHP
PHP时间类完整实例(非常实用)
2015/12/25 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
2016/02/03 PHP
Thinkphp实现短信验证注册功能
2016/10/18 PHP
thinkPHP中volist标签用法示例
2016/12/06 PHP
PHP将身份证正反面两张照片合成一张图片的代码
2017/04/08 PHP
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
DWZ table的原生分页浅谈
2013/03/01 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
2013/05/14 Javascript
详细解读AngularJS中的表单验证编程
2015/06/19 Javascript
jQuery提示插件qTip2用法分析(支持ajax及多种样式)
2016/06/08 Javascript
JS调用Android、Ios原生控件
2017/01/06 Javascript
基于JavaScript实现轮播图原理及示例
2020/04/10 Javascript
bootstrap datetimepicker 日期插件在火狐下出现一条报错信息的原因分析及解决办法
2017/03/08 Javascript
JavaScript限定范围拖拽及自定义滚动条应用(3)
2017/05/17 Javascript
JS仿QQ好友列表展开、收缩功能(第一篇)
2017/07/07 Javascript
vue2.0+ 从插件开发到npm发布的示例代码
2018/04/28 Javascript
详解基于mpvue微信小程序下载远程图片到本地解决思路
2019/05/16 Javascript
npm 语义版本控制详解
2019/09/10 Javascript
python中dir函数用法分析
2015/04/17 Python
Python 模板引擎的注入问题分析
2017/01/01 Python
用tensorflow搭建CNN的方法
2018/03/05 Python
python实现windows下文件备份脚本
2018/05/27 Python
TensorFlow利用saver保存和提取参数的实例
2018/07/26 Python
python调用staf自动化框架的方法
2018/12/26 Python
python单例模式原理与创建方法实例分析
2019/10/26 Python
英国卫浴商店:Ergonomic Design
2019/09/22 全球购物
房地产员工找工作的自我评价
2013/11/15 职场文书
《九色鹿》教学反思
2014/02/27 职场文书
我的大学生活演讲稿
2014/04/25 职场文书
机关干部四风问题自查报告及整改措施
2014/10/26 职场文书
大学生实习证明
2015/06/16 职场文书
2016教师六五普法学习心得体会
2016/01/21 职场文书
pytorch实现加载保存查看checkpoint文件
2022/07/15 Python