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子窗口ModalDialog中操作父窗口对像
Dec 11 Javascript
jQuery事件用法实例汇总
Aug 29 Javascript
基于Javascript实现返回顶部按钮
Feb 29 Javascript
jQuery操作动态生成的内容的方法
May 28 Javascript
浅谈jQuery为哪般去掉了浏览器检测
Aug 29 Javascript
Bootstrap精简教程中秋大放送
Sep 15 Javascript
js实现文字无缝向上滚动
Feb 16 Javascript
jq checkbox 的全选并ajax传参的实例
Apr 01 Javascript
前端axios下载excel文件(二进制)的处理方法
Jul 31 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
Sep 15 Javascript
在vue中使用setInterval的方法示例
Apr 16 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
Apr 17 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
全国FM电台频率大全 - 19 广东省
2020/03/11 无线电
一个PHP的远程图片抓取函数分享
2013/09/25 PHP
Yii2创建表单(ActiveForm)方法详解
2016/07/23 PHP
wordpress自定义标签云与随机获取标签的方法详解
2019/03/22 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
2019/05/27 PHP
10个新的最有前途的JavaScript框架
2009/03/12 Javascript
学习ExtJS 访问容器对象
2009/10/07 Javascript
jQuery 事件的命名空间简单了解
2013/11/22 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
2015/03/18 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
2015/09/24 Javascript
JavaScript中Boolean对象的属性解析
2015/10/21 Javascript
jquery网页日历显示控件calendar3.1使用详解
2016/11/24 Javascript
jQuery插件autocomplete使用详解
2017/02/04 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
uploader秒传图片到服务器完整代码
2017/04/22 Javascript
layui弹出层按钮提交iframe表单的方法
2018/08/20 Javascript
JS图片预加载三种实现方法解析
2020/05/08 Javascript
Python httplib模块使用实例
2015/04/11 Python
全面了解Python的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
Python正则表达式教程之二:捕获篇
2017/03/02 Python
Python中定时任务框架APScheduler的快速入门指南
2017/07/06 Python
Python编程实现蚁群算法详解
2017/11/13 Python
Python实现学校管理系统
2018/01/11 Python
python3 实现验证码图片切割的方法
2018/12/07 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
详解css3自定义滚动条样式写法
2017/12/25 HTML / CSS
一款恶搞头像特效的制作过程 利用css3和jquery
2014/11/21 HTML / CSS
华丽的手绘陶瓷:MacKenzie-Childs
2017/02/04 全球购物
Currentbody澳大利亚:美容仪专家
2019/11/11 全球购物
十岁生日同学答谢词
2014/01/19 职场文书
医学生求职信
2014/07/01 职场文书
市场营销工作计划书
2014/09/15 职场文书
学生自我鉴定格式及范文
2014/09/16 职场文书
机械专业毕业生自我鉴定2014
2014/10/04 职场文书
初二学生评语大全
2014/12/26 职场文书
Python离线安装openpyxl模块的步骤
2021/03/30 Python