91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vuex利用state保存新聞數據實例

發布時間:2020-08-23 09:32:16 來源:腳本之家 閱讀:142 作者:學習筆記666 欄目:web開發

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條數據了

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

日土县| 阿瓦提县| 延安市| 凯里市| 沙田区| 渭南市| 陕西省| 新邵县| 云和县| 罗甸县| 东辽县| 南岸区| 洪泽县| 苍梧县| 六枝特区| 托克托县| 万载县| 韶关市| 蒲江县| 镇康县| 和田县| 琼中| 苗栗县| 浦东新区| 天台县| 滦平县| 兴隆县| 新源县| 资中县| 万载县| 论坛| 文山县| 南充市| 砀山县| 宁武县| 怀安县| 射洪县| 扎兰屯市| 柳江县| 斗六市| 宁德市|