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 相关文章推荐
javascript for循环设法提高性能
Feb 24 Javascript
简单实用的js调试logger组件实现代码
Nov 20 Javascript
jQuery(1.6.3) 中css方法对浮动的实现缺陷分析
Sep 09 Javascript
用Javascript评估用户输入密码的强度(Knockout版)
Nov 30 Javascript
JS获得QQ号码的昵称,头像,生日的简单实例
Dec 04 Javascript
JS倒计时代码汇总
Nov 25 Javascript
AngularJS基础 ng-list 指令详解及示例代码
Aug 02 Javascript
详解node如何让一个端口同时支持https与http
Jul 04 Javascript
jquery对table做排序操作的实例演示
Aug 10 jQuery
vue中使用vue-router切换页面时滚动条自动滚动到顶部的方法
Nov 28 Javascript
js实现弹幕飞机效果
Aug 27 Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
Sep 22 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
无线电波是什么?它是怎样传输的?
2021/03/01 无线电
php实现中文转数字
2016/02/18 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
Laravel框架实现简单的学生信息管理平台案例
2019/05/07 PHP
javascript开发技术大全-第3章 js数据类型
2011/07/03 Javascript
jQuery获得指定元素坐标的方法
2015/04/14 Javascript
JavaScript reduce和reduceRight详解
2016/10/24 Javascript
jquery Ajax 全局调用封装实例详解
2017/01/16 Javascript
vue同步父子组件和异步父子组件的生命周期顺序问题
2018/10/07 Javascript
mpvue 单文件页面配置详解
2018/12/02 Javascript
详解JavaScript中的函数、对象
2019/04/01 Javascript
Webpack按需加载打包chunk命名的方法
2019/09/22 Javascript
H5+css3+js搭建带验证码的登录页面
2020/10/11 Javascript
在Python的一段程序中如何使用多次事件循环详解
2017/09/07 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
matplotlib给子图添加图例的方法
2018/08/03 Python
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
2019/07/04 Python
python中tkinter的应用:修改字体的实例讲解
2019/07/17 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
2019/09/25 Python
python中shell执行知识点
2020/05/06 Python
如何解决python多种版本冲突问题
2020/10/13 Python
Python函数调用追踪实现代码
2020/11/27 Python
如何用border-image实现文字气泡边框的示例代码
2020/01/21 HTML / CSS
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
澳大利亚实惠时尚女装商店:Katies
2019/06/16 全球购物
网上快餐厅创业计划书
2014/02/01 职场文书
KTV的创业计划书范文
2014/02/02 职场文书
2014年党员加强作风建设思想汇报
2014/09/15 职场文书
商品陈列协议书
2014/09/29 职场文书
铁路安全反思材料
2014/12/24 职场文书
2015年五一劳动节活动总结
2015/02/09 职场文书
关于迟到的检讨书
2015/05/06 职场文书
电影开国大典观后感
2015/06/04 职场文书
2015年董事长秘书工作总结
2015/07/23 职场文书
导游词之黄帝陵景区
2019/09/16 职场文书
Spring mvc是如何实现与数据库的前后端的连接操作的?
2021/06/30 Java/Android