第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

【vue】為什么要使用vuex而不是window.obj來維護全局的實例屬性和方法呢

【vue】為什么要使用vuex而不是window.obj來維護全局的實例屬性和方法呢

陪伴而非守候 2018-09-08 16:13:06
【vue】為什么要使用vuex而不是window.obj來維護全局的實例屬性和方法呢?
查看完整描述

2 回答

?
幕布斯7119047

TA貢獻1794條經(jīng)驗 獲得超8個贊

vuex除了提供全局變量,它還能:

  • 抽象業(yè)務邏輯,減少重復代碼;比如異步獲取的數(shù)據(jù),不需要每個地方都寫請求接口的代碼,只需要store.dispatch('actionName')

  • 統(tǒng)一數(shù)據(jù)來源;一個數(shù)據(jù)可能來自:1.服務端 2.web socket的推送 3.響應用戶操作之后對數(shù)據(jù)執(zhí)行的運算符操作;沒有使用vuex,你要在不同的地方寫這三種其一的獲取/修改數(shù)據(jù)的代碼,而使用vuex只需要一句store.dispatch('actionName')

要不要使用vuex,答案很明顯?。?/h3>


查看完整回答
反對 回復 2018-09-28
?
天涯盡頭無女友

TA貢獻1831條經(jīng)驗 獲得超9個贊

那你為什么不用原生js開發(fā) 用vue呢?
下面就拿window.obj用開發(fā)舉例

window.obj = {  
    count: 1,    
    todos: [
      { id: 1, text: '...', done: true },
      { id: 2, text: '...', done: false }
    ]}

如果要修改狀態(tài)

//a組件
window.obj.count+=1;
//b組件
window.obj.count+=5;
//
c組件window.obj.count=10;

上面的方法肯定不行,在復雜的程序中 要封裝成方法來修改
然后就有了registerdispatch
為了 devtools 便于追蹤調(diào)試 vuex 做了自己的封裝 Mutation commit 使得狀態(tài)必須同步提交 在js中肯定會有異步 所以有了 Action dispatch用來異步操作

像上面的你會發(fā)現(xiàn)做著做著就封裝成立vuex或者類似的狀態(tài)管理


查看完整回答
反對 回復 2018-09-28
  • 2 回答
  • 0 關注
  • 2321 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號