在vue.js中如何呼叫vuex儲存介面數據
這篇文章主要為大家介紹了關於在vue.js中引入vuex儲存介面資料及調用的相關資料,文中透過範例程式碼介紹的非常詳細,對大家的學習或工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
前言
前幾天在慕課網上看到黃軼事老師的高仿餓了麼app視頻教程,在做接口設計的時候,我在想,這個介面能不能儲存下來全域呼叫呢?而不是走很多次接口,管理起來也很麻煩。
萬能的vue果然有這個功能,那就是vuex。
Vuex 是一個主要應用在中大型單頁應用的類似 Flux 的資料管理架構。它主要幫我們更好地組織程式碼,以及把應用程式內的狀態保持在可維護、可理解的狀態。
如果你不太理解 Vue.js 應用程式裡的狀態是什麼意思的話,你可以想像一下你先前寫的 Vue 元件裡面的 data 欄位。 Vuex 把狀態分成元件內部狀態和應用程式層級狀態:
元件內部狀態:僅在一個元件內使用的狀態(data 欄位)
應用層級狀態:多個元件共用的狀態
舉個例子:比如說有一個父元件,它有兩個子元件。這個父元件可以用 props 向子元件傳遞數據,這條數據通道很好理解。
具體的實作流程,當然是先安裝了
npm install vuex --save(推荐使用淘宝镜像cnpm,具体实施请自行百度)
然後建立一個store.js的檔案來管理資料
裡面的內容是這樣的
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'
然後就開始請求資料了,在mutations這個屬性裡寫上
mutations:{ getJson(){ Vue.http.get('../data.json',{ },{ headers:{}, emulateJSON:true }).then(response=>{ this.state.newslist=response.data; },response=>{ }) } }
在這裡寫這樣寫是為了讓actions調然後把數據存在state裡面的,官網說這個是異步存數據,我理解的這個異步就跟ajax的異步加載一個意思,當然同步就是mutations了。但是非同步的資料先寫在mutations裡面然後才能調用,所以就得在actions裡面這樣寫
actions:{ newJson(obj){ obj.commit('getJson'); } },
然後把把state寫成這樣
state:{ newslist:[] },
這麼寫的目的是為了不報錯,免得出現什麼找不到之類的錯誤。
上面的newJson跟obj是我自訂的,你可以隨便寫,getJson就是mutations裡面你要用的方法,方便等會分流用,這個getJson方法也可以加參數的,但參數必須是state,這個state就是上面state,不是自訂的。寫死。
接下來在你的子元件裡面就可以分流啦!
子元件裡的程式碼是這樣的:
import {mapState} from 'vuex'; computed:{ ...mapState({ goods:state=>state.newslist.goods, classMap:state=>state.classMap }) }
在這裡我自訂了個goods來取代state.newslist.goods,因為我的資料是
{ "goods":[] }
這種格式,我嫌長,就縮短了下。
然後在html裡面就可以直接呼叫了,這裡貼一小塊程式碼
<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>
上面是我整理給大家的,希望今後會對大家有幫助。
相關文章:
以上是在vue.js中如何呼叫vuex儲存介面數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Vue.js適合中小型項目和快速迭代,React適用於大型複雜應用。 1)Vue.js易於上手,適用於團隊經驗不足或項目規模較小的情況。 2)React的生態系統更豐富,適合有高性能需求和復雜功能需求的項目。

可以通過以下步驟為 Vue 按鈕添加函數:將 HTML 模板中的按鈕綁定到一個方法。在 Vue 實例中定義該方法並編寫函數邏輯。

Vue 多頁面開發是一種使用 Vue.js 框架構建應用程序的方法,其中應用程序被劃分為獨立的頁面:代碼維護性:將應用程序拆分為多個頁面可以使代碼更易於管理和維護。模塊化:每個頁面都可以作為獨立的模塊,便於重用和替換。路由簡單:頁面之間的導航可以通過簡單的路由配置來管理。 SEO 優化:每個頁面都有自己的 URL,這有助於搜索引擎優化。

Vue.js 遍歷數組和對像有三種常見方法:v-for 指令用於遍歷每個元素並渲染模板;v-bind 指令可與 v-for 一起使用,為每個元素動態設置屬性值;.map 方法可將數組元素轉換為新數組。

Vue 中 div 元素跳轉的方法有兩種:使用 Vue Router,添加 router-link 組件。添加 @click 事件監聽器,調用 this.$router.push() 方法跳轉。

實現 Vue 中 a 標籤跳轉的方法包括:HTML 模板中使用 a 標籤指定 href 屬性。使用 Vue 路由的 router-link 組件。使用 JavaScript 的 this.$router.push() 方法。可通過 query 參數傳遞參數,並在 router 選項中配置路由以進行動態跳轉。

NetflixusesAcustomFrameworkcalled“ Gibbon” BuiltonReact,notReactorVuedIrectly.1)TeamSperience:selectBasedonFamiliarity.2)ProjectComplexity:vueforsimplerprojects:reactforforforproproject,reactforforforcompleplexones.3)cocatizationneedneeds:reactoffipicatizationneedneedneedneedneedneeds:reactoffersizationneedneedneedneedneeds:reactoffersizatization needefersmoreflexibleise.4)

Vue 組件傳值是一種在組件之間傳遞數據和信息的機制。它可以通過屬性 (props) 或事件 (events) 實現:屬性 (props):聲明要在組件中接收的數據,在父組件中傳遞數據。事件 (events):使用 $emit 方法觸發事件,並使用 v-on 指令在父組件中監聽。
