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 typeof 用法
Dec 28 Javascript
js中格式化日期时间型数据函数代码
Nov 08 Javascript
javascript 另一种图片滚动切换效果思路
Apr 20 Javascript
JSON辅助格式化处理方法
Mar 26 Javascript
完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码
Dec 17 Javascript
jquery中ready()函数执行的时机和window的load事件比较
Jun 22 Javascript
AngularJS 模块化详解及实例代码
Sep 14 Javascript
canvas学习之API整理笔记(一)
Dec 29 Javascript
微信小程序 密码输入(源码下载)
Jun 27 Javascript
微信小程序自定义组件
Aug 16 Javascript
vue用addRoutes实现动态路由的示例
Sep 15 Javascript
mpvue 页面预加载新增preLoad生命周期的两种方式
Oct 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
收集的二十一个实用便利的PHP函数代码
2010/04/22 PHP
php入门学习知识点六 PHP文件的读写操作代码
2011/07/14 PHP
PHP防范SQL注入的具体方法详解(测试通过)
2014/05/09 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
2020/12/01 PHP
JavaScipt基本教程之JavaScript语言的基础
2008/01/16 Javascript
jquery 回车事件实现代码
2011/08/23 Javascript
JQuery分别取得每行最后一列和最后一行的示例代码
2013/08/18 Javascript
jquery鼠标停止移动事件
2013/12/21 Javascript
jQuery CSS3相结合实现时钟插件
2016/01/08 Javascript
jQuery validate插件submitHandler提交导致死循环解决方法
2016/01/21 Javascript
纯javaScript、jQuery实现个性化图片轮播【推荐】
2017/01/08 Javascript
利用n 升级工具升级Node.js版本及在mac环境下的坑
2017/02/15 Javascript
js实现图片左右滚动效果
2017/02/27 Javascript
vue构建单页面应用实战
2017/04/10 Javascript
JS点击缩略图整屏居中放大图片效果
2017/07/04 Javascript
vue click.stop阻止点击事件继续传播的方法
2018/09/04 Javascript
基于mpvue小程序使用echarts画折线图的方法示例
2019/04/24 Javascript
史上最为详细的javascript继承(推荐)
2019/05/18 Javascript
小程序登录之支付宝授权的实现示例
2019/12/13 Javascript
node.js Promise对象的使用方法实例分析
2019/12/26 Javascript
[28:48]《真视界》- 2017年国际邀请赛
2017/09/27 DOTA
Python 迭代器与生成器实例详解
2017/05/18 Python
Python文件操作之合并文本文件内容示例代码
2017/09/19 Python
python实现串口自动触发工作的示例
2019/07/02 Python
Pandas中resample方法详解
2019/07/02 Python
Python实现数值积分方式
2019/11/20 Python
python deque模块简单使用代码实例
2020/03/12 Python
你不知道的葡萄干处理法、橙蜜处理法、二氧化碳酵母法
2021/03/17 冲泡冲煮
巴西家用小家电购物网站:Polishop
2016/08/07 全球购物
垃圾回收的优点和原理。并考虑2种回收机制
2016/10/16 面试题
以思科路由器为例你写下单臂路由的配置命令
2013/08/03 面试题
办公室前台岗位职责范本
2013/12/10 职场文书
不假外出检讨书
2014/01/27 职场文书
个人欠款担保书
2014/05/20 职场文书
聘任书范文大全
2015/09/21 职场文书