<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ì)www.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è)人資料

    存檔

    主站蜘蛛池模板: 国产精品高清2021在线| 亚洲欧美一级久久精品| 亚洲精品NV久久久久久久久久| 国产麻豆精品一区二区三区v视界| 国产三级精品三级在线观看| 国产国产精品人在线视| 一级A毛片免费观看久久精品| 9久热这里只有精品| 91麻豆国产福利精品 | 国内精品久久久久久中文字幕| 国产精品免费AV片在线观看| 日韩一区二区精品观看| 国产香蕉国产精品偷在线| 久久亚洲欧美日本精品| 精品卡一卡二卡乱码高清| 中文字幕无码精品三级在线电影 | 国产成人精品日本亚洲专一区 | 91精品国产高清久久久久久国产嫩草 | 亚洲精品永久在线观看| 久久97久久97精品免视看秋霞| 99久久精品免费| 杨幂国产精品福利在线观看| 好吊妞视频精品| 国产成人精品免费视频大| 91精品在线看| 国产高清在线精品一区| 国产女人精品视频国产灰线| 精品久久久久久亚洲精品| 久久久久99精品成人片直播| 亚洲精品V欧洲精品V日韩精品| 亚洲麻豆精品国偷自产在线91| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 亚洲愉拍99热成人精品热久久| 日韩精品欧美| 日产国产精品亚洲系列| 午夜成人精品福利网站在线观看 | 久久99精品国产麻豆| 久热这里只有精品12| 久久久久久久久无码精品亚洲日韩 | 精品国产第1页| 久久精品国产精品青草|