亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

Vuex 單狀態庫與多模塊狀態庫詳解

2019-11-19 12:21:30
字體:
來源:轉載
供稿:網友

什么情況下使用vuex

Vuex 是一個專為 Vue.js 應用程序開發的狀態管理模式。它采用集中式存儲管理應用的所有組件的狀態,如果您不打算開發大型單頁應用,使用 Vuex 可能是繁瑣冗余的。如果您需要構建是一個中大型單頁應用,您很可能會考慮如何更好地在組件外部管理狀態,Vuex 將會成為自然而然的選擇。

之前在做旅游頁的時候對 Vuex 進行了簡單的了解。近期在做 Vue 項目的同時重新學習了 Vuex 。本篇博文主要總結一下 Vuex 單狀態庫和多模塊 modules 的兩類使用場景。

本篇所有代碼是基于 Vue-Cli 3.x 版本的腳手架工具進行編寫的。

vuex 單狀態庫 Demo

這是一個僅有單個 Vuex store 狀態庫的 Demo。當項目中使用一個 Vuex 狀態庫就已經足夠的時候,可以使用這種方式。

本 Demo 使用了一個 increment 與 decrement 的 增 / 減 事件來體現 store 數據的變化。

store.js

由于狀態庫是單一的,僅有一個 store.js 文件管理狀態庫。在該文件中一開始進行 import 的引入,然后使用 Vue.use(Vuex) 使用 Vuex,之后分別定義 state、mutations 和 actions,并通過 export default new Vuex.Store({state, mutations, actions}) 模塊化。

// store.jsimport Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)const state = { count: 1}const mutations = { increment(state) {  state.count ++ }, decrement(state) {  state.count -- }}const actions = { increment:({commit}) => {  commit('increment') }, decrement:({commit}) => {  commit('decrement') }}export default new Vuex.Store({state, mutations, actions})

main.js

在入口文件 main.js 中通過 import 引入 store,并注冊到 Vue 的實例上。

import Vue from 'vue'import App from './App.vue'import store from './store'// Vue-Cli 3.xnew Vue({ render: h => h(App), router, store}).$mount('#app')// Vue-Cli 2.x// new Vue({//  el: '#app',//  router,//  store,//  components: { App },//  template: '<App/>'// })

使用 $store

在相應的組件中如下引入并在 methods 中使用 mapActions。

<template> <div class="vuex">  Vuex 全局 Store count {{$store.state.count}}  <button type="button" name="button" @click="increment">加</button>  <button type="button" name="button" @click="decrement">減</button> </div></template><script>import { mapActions } from 'vuex'export default { methods: mapActions([  'increment',  'decrement' ])}</script><style scoped></style>

Demo

關于單狀態庫的 Demo 請參考此 github

Github Demo 

vuex 多模塊狀態庫 Demo

當項目變得非常龐大,單個 store 無法滿足需求的時候,可以通過多模塊狀態庫管理多個 store,將各類狀態分類進行維護。

本 Demo 使用了 add 與 reduce 的 增 / 減 事件來體現 store 數據的變化。

store

由于需要管理多個 store,因此在項目目錄中創建 store 文件夾,并創建 modules 文件夾用來放置各個 store文件,并使用 index.js 作為入口文件。具體結構請查看 Demo。

main.js

同樣在 main.js 中通過 import 引入 store,但這里是引入 index.js 這個入口文件。

import Vue from 'vue'import App from './App.vue'import store from './store/index'

使用 $store

除了使用方式有一定不同之外,methods 中的 mapActions 也更換了書寫方式,第一個參數是對應 store 管理的數據,第二個參數是關于操作事件的數組。

<template lang="html"> <div class="a">  page a {{$store.state.countA.countA}}  <button type="button" name="button" @click="add">增加</button>  <button type="button" name="button" @click="reduce">刪減</button> </div></template><script>import { mapActions } from 'vuex'export default { methods: mapActions('countA',['add','reduce'])}</script><style lang="css"></style>

Demo

關于多模塊狀態庫的 Demo 請參考此 github

Github Demo

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美亚洲成人网| 91亚洲国产成人久久精品网站| 国产精品美腿一区在线看| 欧美另类高清videos| 国产亚洲精品成人av久久ww| 成人黄色中文字幕| 欧洲成人在线视频| 久操成人在线视频| www.久久色.com| 性欧美长视频免费观看不卡| 日韩久久免费电影| 久久国产精品久久久久久| 久久久久久久久网站| 国产一区二区三区毛片| 视频在线观看一区二区| www.久久久久| 91牛牛免费视频| 欧美激情一区二区三区成人| 精品亚洲国产视频| 久久久久久高潮国产精品视| 日韩电影免费观看在线| 久久精品一区中文字幕| 亚洲欧美中文日韩v在线观看| 久久精品2019中文字幕| 欧美成人免费在线观看| 亚洲少妇中文在线| 国产精品专区h在线观看| 欧美大尺度在线观看| 精品无人区乱码1区2区3区在线| 亚洲电影免费观看高清完整版在线| 国产精品自产拍在线观| 亚洲人成自拍网站| 国产成人午夜视频网址| 成人黄色大片在线免费观看| 4444欧美成人kkkk| 最近日韩中文字幕中文| 久久久久久伊人| 国产亚洲aⅴaaaaaa毛片| 久久久久久久一| 91在线观看欧美日韩| 久久69精品久久久久久久电影好| 亚洲风情亚aⅴ在线发布| 日韩av高清不卡| 亚洲欧美日韩一区在线| 久久久久久久久久久免费精品| 国产免费一区二区三区香蕉精| 欧美黑人国产人伦爽爽爽| 久久在线免费观看视频| 国产精品亚洲欧美导航| 中文字幕亚洲一区| 欧美日韩国产精品一区二区不卡中文| 91大神福利视频在线| 九九九久久国产免费| 久久精品国产一区二区三区| 欧美日韩午夜剧场| 欧美性xxxxhd| 国产精品久久久久久网站| 国产精品激情自拍| 国产精品爽黄69天堂a| 川上优av一区二区线观看| 日韩精品高清在线| 欧美亚洲激情在线| 日韩免费在线看| 午夜欧美大片免费观看| 国产丝袜一区二区| 欧美在线观看日本一区| 亚洲伊人第一页| 国产不卡一区二区在线播放| 久久影院资源站| 92看片淫黄大片欧美看国产片| 成人精品一区二区三区电影黑人| 国产精品久久久久久亚洲调教| 欧美性猛交xxxx免费看久久久| 久久国产精品首页| 亚洲欧美一区二区三区久久| 91免费国产视频| 4p变态网欧美系列| 亚洲电影免费观看高清完整版| 亚洲欧美日韩精品久久奇米色影视| 91视频8mav| 日韩av在线网址| 精品视频在线播放免| 亚洲激情电影中文字幕| 国产精品一区二区av影院萌芽| 国产成人精品综合久久久| 国产精品极品尤物在线观看| 欧洲一区二区视频| 亚洲尤物视频网| 精品少妇一区二区30p| 国产精品久久久久久久久免费看| 国产精品免费一区二区三区都可以| 538国产精品一区二区在线| 国产精品美女视频网站| 神马久久久久久| 欧美黄色www| 久久影视电视剧免费网站清宫辞电视| 国产精品爱久久久久久久| 亚洲日本aⅴ片在线观看香蕉| 欧美丰满少妇xxxxx做受| 一本色道久久综合狠狠躁篇怎么玩| 8050国产精品久久久久久| 久久久亚洲成人| 亚洲激情在线视频| 久久久久久久爱| 欧美激情亚洲另类| 国产精品video| 亚洲成人av中文字幕| 欧美性在线观看| 精品成人国产在线观看男人呻吟| 国产精品9999| 中文字幕亚洲欧美日韩高清| 7777精品久久久久久| 亚洲精品国产精品自产a区红杏吧| 深夜福利一区二区| 日韩一区二区在线视频| zzijzzij亚洲日本成熟少妇| 热久久99这里有精品| 91精品国产91久久久久福利| 亚洲第一精品福利| 亚洲精品美女在线观看播放| 国产日韩欧美在线| 久久99精品久久久久久青青91| 亚洲精品综合久久中文字幕| 欧美精品成人91久久久久久久| 91爱爱小视频k| 一本色道久久88综合日韩精品| 国产丝袜一区二区三区| 国内揄拍国内精品少妇国语| 成人免费网站在线| 日韩欧美视频一区二区三区| 欧美国产欧美亚洲国产日韩mv天天看完整| 98精品在线视频| 亚洲人成网站999久久久综合| 九九热这里只有精品免费看| 日韩欧美在线视频日韩欧美在线视频| 55夜色66夜色国产精品视频| 萌白酱国产一区二区| 欧美激情免费在线| 国产精品毛片a∨一区二区三区|国| 亚洲欧美变态国产另类| 欧美精品久久久久a| 91夜夜揉人人捏人人添红杏| 久久五月天色综合| 成人av在线网址| 欧美性生交大片免费| 国产精品一区二区久久精品| 成人在线视频福利| 久久视频在线观看免费| 欧美丰满少妇xxxxx| 性欧美在线看片a免费观看| 国产精品嫩草视频| 欧美另类暴力丝袜| 国产精品热视频| 91高清视频免费观看| 国产午夜精品全部视频在线播放| 5566日本婷婷色中文字幕97| 韩国三级日本三级少妇99| 久久欧美在线电影| 欧美电影在线观看网站| 精品一区精品二区| 亚洲人成在线免费观看| 亚洲精品久久久久中文字幕欢迎你| 国产精品三级美女白浆呻吟| 欧美性xxxxx|