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 相关文章推荐
jQuery Validation实例代码 让验证变得如此容易
Oct 18 Javascript
基于jQuery的获得各种控件Value的方法
Nov 19 Javascript
更优雅的事件触发兼容
Oct 24 Javascript
javascript与jquery中跳出循环的区别总结
Nov 04 Javascript
JQuery控制div外点击隐藏而div内点击不会隐藏的方法
Jan 13 Javascript
IE10中flexigrid无法显示数据的解决方法
Jul 26 Javascript
JS提交form表单实例分析
Dec 10 Javascript
分析javascript中9 个常见错误阻碍你进步
Sep 18 Javascript
Vue引入jquery实现平滑滚动到指定位置
May 09 jQuery
JQuery扩展对象方法操作示例
Aug 21 jQuery
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
May 22 Javascript
js实现飞机大战小游戏
Aug 26 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
php中的路径问题与set_include_path使用介绍
2014/02/11 PHP
php通过baihui网API实现读取word文档并展示
2015/06/22 PHP
Zend Framework入门教程之Zend_View组件用法示例
2016/12/09 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
2017/09/28 PHP
PHP+RabbitMQ实现消息队列的完整代码
2019/03/20 PHP
Javascript valueOf 使用方法
2008/12/28 Javascript
Dojo 学习要点
2010/09/03 Javascript
JavaScript的setAttribute兼容性问题解决方法
2013/11/11 Javascript
nodejs教程之入门
2014/11/21 NodeJs
jQuery选择器用法实例详解
2015/12/17 Javascript
js 动态给元素添加、移除事件的实现方法
2016/07/19 Javascript
js动态添加的DIV中的onclick事件简单实例
2016/07/25 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
2016/09/04 Javascript
JavaScript触发onScroll事件的函数节流详解
2016/12/14 Javascript
JS基于面向对象实现的多个倒计时器功能示例
2017/02/28 Javascript
Vue.directive()的用法和实例详解
2018/03/04 Javascript
vue 之 css module的使用方法
2018/12/04 Javascript
Layui点击图片弹框预览的实现方法
2019/09/16 Javascript
JsonServer安装及启动过程图解
2020/02/28 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
深入理解python中的闭包和装饰器
2016/06/12 Python
使用python3.5仿微软记事本notepad
2016/06/15 Python
python实现rsa加密实例详解
2017/07/19 Python
Django restframework 源码分析之认证详解
2019/02/22 Python
快速排序的四种python实现(推荐)
2019/04/03 Python
Python3 sys.argv[ ]用法详解
2019/10/24 Python
tensorboard实现同时显示训练曲线和测试曲线
2020/01/21 Python
Python Mock模块原理及使用方法详解
2020/07/07 Python
体育教育毕业生自荐信
2013/11/21 职场文书
致跳高运动员广播稿
2014/01/13 职场文书
学生感冒英文请假条
2014/02/04 职场文书
幼儿园教师考核评语
2014/12/31 职场文书
2016学习雷锋精神活动倡议书
2015/04/27 职场文书
Python帮你解决手机qq微信内存占用太多问题
2022/02/15 Python
Python保存并浏览用户的历史记录
2022/04/29 Python
tomcat默认最大连接数及相关调整方法
2022/05/06 Servers