最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue.js中引入vuex儲存接口數(shù)據(jù)及調(diào)用的詳細(xì)流程

 更新時間:2017年12月14日 10:09:54   作者:藍(lán)調(diào)爵士  
這篇文章主要給大家介紹了關(guān)于在vue.js中引入vuex儲存接口數(shù)據(jù)及調(diào)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

前言

前幾天在慕課網(wǎng)上看到黃軼老師的高仿餓了么app視頻教程,在做接口設(shè)計(jì)的時候,我在想,這個接口能不能儲存下來全局調(diào)用呢?而不是走很多次接口,管理起來也麻煩。

萬能的vue果然有這個功能,那就是vuex。

Vuex 是一個主要應(yīng)用在中大型單頁應(yīng)用的類似于 Flux 的數(shù)據(jù)管理架構(gòu)。它主要幫我們更好地組織代碼,以及把應(yīng)用內(nèi)的的狀態(tài)保持在可維護(hù)、可理解的狀態(tài)。

如果你不太理解 Vue.js 應(yīng)用里的狀態(tài)是什么意思的話,你可以想象一下你此前寫的 Vue 組件里面的 data 字段。Vuex 把狀態(tài)分成組件內(nèi)部狀態(tài)和應(yīng)用級別狀態(tài):

  • 組件內(nèi)部狀態(tài):僅在一個組件內(nèi)使用的狀態(tài)(data 字段)
  • 應(yīng)用級別狀態(tài):多個組件共用的狀態(tài)

舉個例子:比如說有一個父組件,它有兩個子組件。這個父組件可以用 props 向子組件傳遞數(shù)據(jù),這條數(shù)據(jù)通道很好理解。

具體的實(shí)現(xiàn)流程,當(dāng)然是先安裝了

npm install vuex --save(推薦使用淘寶鏡像cnpm,具體實(shí)施請自行百度)

然后建立個store.js的文件來管理數(shù)據(jù)


里面的內(nèi)容是這樣的

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
 state:{
 },
 actions:{
 },
 mutations:{
 }
})

然后在main.js里面引入這個js文件

import store from './store.js'

然后就開始請求數(shù)據(jù)了,在mutations這個屬性里寫上

mutations:{
  getJson(){
   Vue.http.get('../data.json',{
    },{
    headers:{},
    emulateJSON:true
    }).then(response=>{
    this.state.newslist=response.data;
    },response=>{
     
    })
  }
 }

在這里寫這樣寫是為了讓actions調(diào)然后把數(shù)據(jù)存在state里面的,官網(wǎng)說這個是異步存數(shù)據(jù),我理解的這個異步就跟ajax的異步加載一個意思,當(dāng)然同步就是mutations了。但是異步的數(shù)據(jù)先寫在mutations里面然后才能調(diào)用,所以就得在actions里面這樣寫

actions:{
  newJson(obj){
   obj.commit('getJson');
  }
 },

然后把把state寫成這樣

state:{
  newslist:[]
 },

這么寫的目的是為了不報(bào)錯,免得出現(xiàn)什么找不到之類的錯誤。

上面的newJson跟obj是我自定義的,你可以隨便寫,getJson就是mutations里面你要用的方法,方便等會分流用,這個getJson方法也可以加參數(shù)的,但參數(shù)必須是state,這個state就是上面state,不是自定義的。寫死。

接下來在你的子組件里面就可以分流啦!

子組件里的代碼是這樣的:

import {mapState} from 'vuex';
computed:{
 ...mapState({
  goods:state=>state.newslist.goods,
  classMap:state=>state.classMap
 })
 }

在這里我自定義了個goods來代替state.newslist.goods,因?yàn)槲业臄?shù)據(jù)是

{
"goods":[]
}

這種格式,我嫌長,就縮短了下。

然后在html里面就可以直接調(diào)用了,這里貼一小塊代碼

<ul>
 <li v-for="(item,index) in goods" class="menu-item" :class="{'current':currentIndex===index}" @click="selectMenu(index,$event)">
 <span class="text border-1px">
 <span class="icon" v-show="item.type>0">
 </span>
 {{item.name}}
  </span>
  </li>
</ul>

基本上流程就是這樣

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Vue 實(shí)現(xiàn)手動刷新組件的方法

    Vue 實(shí)現(xiàn)手動刷新組件的方法

    這篇文章主要介紹了Vue 實(shí)現(xiàn)手動刷新組件的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • Vue.js基礎(chǔ)知識匯總

    Vue.js基礎(chǔ)知識匯總

    Vue.js 專注于 MVVM 模型的 ViewModel 層。它通過雙向數(shù)據(jù)綁定把 View 層和 Model 層連接了起來。Vue.js和其他庫相比是一個小而美的庫,作者的主要目的是通過一個盡量簡單的 API 產(chǎn)生可反映的數(shù)據(jù)綁定和可組合的視圖組件,感覺作者的思路非常清晰。
    2016-04-04
  • vue實(shí)現(xiàn)吸壁懸浮球

    vue實(shí)現(xiàn)吸壁懸浮球

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)吸壁懸浮球,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • uniApp?h5項(xiàng)目如何通過命令行打包并生成指定路徑及文件名稱

    uniApp?h5項(xiàng)目如何通過命令行打包并生成指定路徑及文件名稱

    用uni-app來寫安卓端,近日需要將程序打包為H5放到web服務(wù)器上,經(jīng)過一番折騰,這里給大家分享下,這篇文章主要給大家介紹了關(guān)于uniApp?h5項(xiàng)目如何通過命令行打包并生成指定路徑及文件名稱的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • vue展示dicom文件醫(yī)療系統(tǒng)的實(shí)現(xiàn)代碼

    vue展示dicom文件醫(yī)療系統(tǒng)的實(shí)現(xiàn)代碼

    這篇文章主要介紹了vue展示dicom文件醫(yī)療系統(tǒng)的實(shí)現(xiàn)代碼,非常不錯,具有一定的參考借鑒加載,需要的朋友可以參考下
    2018-08-08
  • Vue退出登錄時清空緩存的實(shí)現(xiàn)

    Vue退出登錄時清空緩存的實(shí)現(xiàn)

    今天小編就為大家分享一篇Vue退出登錄時清空緩存的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • vue+epubjs實(shí)現(xiàn)電子書閱讀器的基本功能

    vue+epubjs實(shí)現(xiàn)電子書閱讀器的基本功能

    這篇文章主要為大家詳細(xì)介紹了如何使用vue+epubjs實(shí)現(xiàn)電子書閱讀器的基本功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • 淺析Vue下的components模板使用及應(yīng)用

    淺析Vue下的components模板使用及應(yīng)用

    這篇文章主要介紹了Vue下的components模板的使用及應(yīng)用,本文通過代碼介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Vue3基礎(chǔ)安裝以及配置詳解

    Vue3基礎(chǔ)安裝以及配置詳解

    這篇文章主要介紹了Vue3基礎(chǔ)安裝以及配置詳解,需要的朋友可以參考下
    2023-01-01
  • Vue3中創(chuàng)建異步組件的流程步驟

    Vue3中創(chuàng)建異步組件的流程步驟

    在現(xiàn)代前端開發(fā)中,組件的重用性和異步加載是提升用戶體驗(yàn)和優(yōu)化性能的關(guān)鍵因素,在Vue 3中,創(chuàng)建異步組件變得更為便利,本文將探討如何在Vue 3中使用setup語法糖來創(chuàng)建異步組件,感興趣的小伙伴跟著小編一起來看看吧
    2024-09-09

最新評論

乃东县| 镇原县| 娱乐| 西昌市| 福海县| 静海县| 朔州市| 旬邑县| 南华县| 濮阳市| 古交市| 麻城市| 潞西市| 务川| 博野县| 灵宝市| 崇礼县| 辽阳县| 宁化县| 通山县| 织金县| 洛南县| 和田市| 文化| 伊宁市| 通许县| 湛江市| 密山市| 吴江市| 金昌市| 长寿区| 万载县| 海林市| 金沙县| 容城县| 泌阳县| 措美县| 辽阳县| 广丰县| 彩票| 弋阳县|