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 相关文章推荐
数组Array进行原型prototype扩展后带来的for in遍历问题
Feb 07 Javascript
基于jQuery的动态表格插件
Mar 28 Javascript
javascript 数字格式化输出的实现代码
Dec 10 Javascript
一个仿糯米弹框效果demo
Jul 22 Javascript
node.js中的fs.fstatSync方法使用说明
Dec 15 Javascript
vue-ajax小封装实例
Sep 18 Javascript
Vue项目中跨域问题解决方案
Jun 05 Javascript
setTimeout与setInterval的区别浅析
Mar 23 Javascript
Vue实现表格批量审核功能实例代码
May 28 Javascript
ES2020 已定稿,真实场景案例分析
May 25 Javascript
vue+canvas实现拼图小游戏
Sep 18 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
Oct 28 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使用PDO下exec()函数查询执行后受影响行数的方法
2017/03/28 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
JS中剪贴板兼容性、判断复制成功或失败
2021/03/09 Javascript
模仿jQuery each函数的链式调用
2009/07/22 Javascript
理解 JavaScript 预解析
2009/10/25 Javascript
JS OffsetParent属性深入解析
2014/01/13 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
AngularJS 使用 UI Router 实现表单向导
2016/01/29 Javascript
学习Javascript面向对象编程之封装
2016/02/23 Javascript
JS中setTimeout和setInterval的最大延时值详解
2017/02/13 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
JavaScript实现焦点进入文本框内关闭输入法的核心代码
2017/09/20 Javascript
实例分析JS中的相等性判断===、 ==和Object.is()
2019/11/17 Javascript
Vue解析剪切板图片并实现发送功能
2020/02/04 Javascript
基于canvasJS在PHP中制作动态图表
2020/05/30 Javascript
vue实现评价星星功能
2020/06/30 Javascript
[38:23]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第二场 11.01
2020/11/02 DOTA
kNN算法python实现和简单数字识别的方法
2014/11/18 Python
Python使用win32 COM实现Excel的写入与保存功能示例
2018/05/03 Python
dataframe 按条件替换某一列中的值方法
2019/01/29 Python
谈一谈基于python的面向对象编程基础
2019/05/21 Python
tensorflow如何批量读取图片
2019/08/29 Python
django创建简单的页面响应实例教程
2019/09/06 Python
用Python制作音乐海报
2021/01/26 Python
IE9下html5初试小刀
2010/09/21 HTML / CSS
基本款天堂:Everlane
2017/05/13 全球购物
美国床垫和床上用品公司:Nest Bedding
2017/06/12 全球购物
瑞典最大的儿童用品网上商店:pinkorblue.se
2021/03/09 全球购物
英国儿童设计师服装和玩具购物网站:Zac & Lulu
2020/10/19 全球购物
优秀大学生职业生涯规划书
2014/02/27 职场文书
优秀求职信
2014/05/29 职场文书
激励员工的口号
2014/06/16 职场文书
董事长新年致辞
2015/07/29 职场文书
PHP实现考试倒计时功能代码
2021/04/16 PHP
python 如何执行控制台命令与操作剪切板
2021/05/20 Python
SQL Server Agent 服务无法启动
2022/04/20 SQL Server