<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • vuex管理狀態(tài)倉庫詳解

    2020-7-22    seo達(dá)人

    一.什么是Vuex?

    Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式。它采用集中式存儲(chǔ)管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)以一種可預(yù)測的方式發(fā)生變化。Vuex 也集成到 Vue 的官方調(diào)試工具 devtools extension,提供了諸如零配置的 time-travel 調(diào)試、狀態(tài)快照導(dǎo)入導(dǎo)出等高級調(diào)試功能。采用了全局單例模式,將組件的共享狀態(tài)抽離出來管理,使得組件樹中每一個(gè)位置都可以獲取共享的狀態(tài)或者觸發(fā)行為。
    那么什么是狀態(tài)呢?我把狀態(tài)理解為在沒有使用vuex時(shí),在當(dāng)前組件中data內(nèi)需要共用的數(shù)據(jù)為狀態(tài)。
    vuex使得狀態(tài)或行為成為了共享的狀態(tài),所共享的狀態(tài)或行為可以在各個(gè)組件中都可以訪問到,省去了子父或子子之間傳遞變量,提高了開發(fā)效率。

    二.不使用vuex時(shí)與使用vuex時(shí)的差別

    當(dāng)我們不使用vuex時(shí),對于組件之間傳遞信息會(huì)較為麻煩。

    不使用vuex時(shí)

    父子之間傳遞信息:

    App.vue文件中:

    <template>
      <div id="app">
          <Fruits :fruitList="fruitList"/>
      </div>
    </template> 
    <script> import Goods from './components/Goods'; export default { name: 'App',
      components:{
        Fruits,
        Goods
      }, data(){
        return{ goodList:[
          {
            name:'doll',
            price:12 },
          { name:'glass',
            price:10 }
        ],
        }
      }
    }
    </script>
    <style>
    </style>

    Good.vue文件中:

    <template>
      <div class="hello">
          <ul>
            <li v-for="(good,index) in goodList" :key="index"> name:{{good.name}} number: {{good.number}} {{index}}
            </li>
          </ul>
      </div>
    </template>
    
    <script> export default { props:['goodList'],
    }
    </script>
    <style>
    
    </style>

    兄弟之間傳遞信息:

    首先先創(chuàng)建一個(gè)js文件作為兩兄弟之間傳輸?shù)募~扣,這里起名為msg.js

    //創(chuàng)建并暴露vue import Vue from 'vue';
    export default new Vue

    兄弟組件Goods:

    <template>
      <div>
            <button @click="deliver">點(diǎn)擊</button>
      </div>
    </template>
    
    <script> import MSG from '../msg';
    export default {
      data(){ return{
          msg:'hahah' }
      },
      methods:{
        deliver() {
            MSG.$emit('showMsg',this.msg)
        }
      }
    
    }
    </script>
    <style>
    
    </style>

    兄弟組件Fruits:

    <template>
      <div>
          <div class="fruit">
              {{text}}
          </div>
      </div>
    </template>
    <script> import MSG from '../msg';
    export default {
        data(){ return{
            text:'' }
        },
        created(){ this.getMsg()
        },
        methods:{
          getMsg(){
            MSG.$on('showMsg',(message)=>{ this.text = message
            })
          }
        }
    }
    </script>
    <style>
    </style>

    在App組件中的代碼:
    在這里插入圖片描述
    點(diǎn)擊按鈕:


    藍(lán)藍(lán)設(shè)計(jì)m.skdbbs.com )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 平面設(shè)計(jì)服務(wù)

    日歷

    鏈接

    個(gè)人資料

    存檔

    主站蜘蛛池模板: 一区二区三区日韩精品| 欧美久久亚洲精品| 精品国产亚洲男女在线线电影 | 精品人妻码一区二区三区| 国产精品一区二区三区免费| 国产精品久久午夜夜伦鲁鲁| 亚洲精品国产成人影院| 国产精品无码一区二区在线 | 性欧洲精品videos| 国产精品自在线拍国产电影| 国产精品日韩欧美制服| 久久精品一本到99热免费| 亚洲国产精品成人午夜在线观看| 国产99精品一区二区三区免费| 91麻豆精品国产自产在线观看一区 | 一本一本久久a久久综合精品蜜桃 一本一道精品欧美中文字幕 | 亚洲午夜精品一区二区| 国产精品亚洲专区在线观看| 久久精品国产亚洲av麻豆小说| 影院无码人妻精品一区二区| 九色精品视频在线观看| 国产在线观看高清精品| 国产精品一区12p| 国产偷伦精品视频| 国产精品亚洲w码日韩中文| 成人精品一区二区三区| 99精品国产一区二区| 欧美国产亚洲精品高清不卡| 国产精品天天影视久久综合网| 国产偷亚洲偷欧美偷精品 | 国产精品久久成人影院| 国产精品伦一区二区三级视频 | 自拍中文精品无码| 在线亚洲精品福利网址导航| 亚洲综合国产精品第一页 | 国产在线精品一区二区不卡麻豆| 99热日韩这里只有精品| 中文精品久久久久国产网址| 四虎精品影院4hutv四虎| 久久精品九九亚洲精品天堂 | 久久香蕉超碰97国产精品|