data 獲取vuex Vuex 對映完全指南

2021-10-14 07:35:49 字數 2118 閱讀 9857

vuex 是一把雙刃劍。如果使用得當,vue 可以使你的工作更加輕鬆。如果不小心,也會使讓的**混亂不堪。

在使用 vuex 之前,應該先了解四個主要概念:state、getter、mutation 和 action。乙個簡單的 vuex 狀態在 store 中的這些概念中運算元據。vuex 中的對映提供了一種從中檢索資料的好方法。

在文中,我將演示如何對映 vuex 儲存中的資料。如果你熟悉 vuex 基礎,那麼這些內容將會幫你編寫更簡潔、更便於維護的**。

本文假設你了解 vue.js 和 vuex 的基礎知識。

vuex 中的對映使你可以將 state 中的任何一種屬性(state、getter、mutation 和 action)繫結到元件中的計算屬性,並直接使用 state 中的資料。

下面是乙個簡單的 vuex store 例子,其中測試資料位於 state 中。

import vue from 'vue'import vuex from 'vuex'vue.use(vuex)const store = new vuex.store(})
如果要從 state 中訪問 data 的值,則可以在 vue.js 元件中執行以下操作。

computed:     }
上面的**可以工作,但是隨著 state 資料量的開始增長,很快就會變得很難看。例如:

要從處於 state 中的使用者物件獲取使用者名稱:

computed:     }
這樣可以完成工作,但是還有更好的方法。

要將 state 對映到 vue.js 元件中的計算屬性,可以執行以下命令。

import  from 'vuex';export default}
現在你可以訪問元件中的整個使用者物件。

你還可以做更多的事,例如把物件從 state 新增到 mapstate 方法。

import  from 'vuex';export default}
如你所見,這要乾淨得多。可以通過以下方式輕鬆訪問使用者名稱:

}
services 物件和對映的許多其他的值也是如此。

你注意到我們是如何將陣列傳遞給 mapstate() 的嗎?如果需要為值指定其他名稱,則可以傳入乙個物件。

import  from 'vuex';export default)    }}
現在可以通過簡單地呼叫 userdetails 來引用 user。

根據經驗,僅當 state 中有大量資料,並且元件中全部需要它們時,才應該對映。

在上面的例子中,如果我們只需要乙個值(例如 username),則對映整個使用者物件就沒有多大意義。

在對映時,整個物件將會全部載入到記憶體中。實際上我們並不想繼續把不需要的資料載入到記憶體中,因為這將是多餘的,並且從長遠來看會影響效能。

對映 getter 的語法與 mapstate 函式相似。

import  from 'vuex'export default }
與對映 state 類似,如果你打算使用其他名稱,則可以把物件傳遞給 mapgetters 函式。

import  from 'vuex'export default }
對映 mutation 時,可以採用以下語法來提交 mutation。

this.$store.commit('mutationname`)
例如:

import  from 'vuex'export default )  }}
對映 action 與對映 mutation 非常相似,因為它也可以在方法中完成。使用對映器會把 this.$store.dispatch('actionname') 繫結到對映器陣列中的名稱或物件的鍵。

import  from 'vuex'export default )  }}
看到這裡,你應該能夠學到:

獲取data 屬性值

下面就詳細介紹四種方法獲取data 屬性的值 getid data id 122 data vice id 11 獲取id 需要獲取的就是data id和dtat vice id的值 一 getattribute 方法 const getid document.getelementbyid geti...

jquery 獲取data 屬性值

html5規定可以為元素新增非標準型的屬性,只需新增字首data 這些屬性可以隨意新增,隨意命名,目的是為元素提供與渲染無關的資訊,或提供語義資訊。getid data id 122 data vice id 11 獲取id const getid document.getelementbyid g...

jquery 獲取data 屬性值

html5規定可以為元素新增非標準型的屬性,只需新增字首data 這些屬性可以隨意新增,隨意命名,目的是為元素提供與渲染無關的資訊,或提供語義資訊。iefirefox chrome safari opera 支援支援 支援支援 支援所有主流瀏覽器都支援 data 屬性。下面就詳細介紹四種方法獲取da...