亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

vuex模塊疑惑

vuex模塊疑惑

人到中年有點甜 2018-08-30 14:22:58
官方的購物車例子,還有別人仿的bilibili項目都有類似下面這種:state: {   status: '' }, getter: {   status: state => state.status }, actions: {   checkout ({commit, state}, products) {     commit(types.CHECKOUT_REQUEST)   } }, mutations: {   [types.CHECKOUT_REQUEST] (state) {     ...   } }1.為什么mutations里要用數組的命名方式?2.為什么還要把state里的內容再在getter里走一遍?
查看完整描述

2 回答

?
慕森卡

TA貢獻1806條經驗 獲得超8個贊

  1. 那個不叫數組的命名方式,叫屬性名表達式,為了方便統一管理。畢竟vuex里要寫,用到的組件也要寫,既然這樣就可以提到一個js里,統一管理。

  2. vuex用的不多??赡苁菫榱朔奖阋院髷U展(比如以后可能不會用原始數據,需要處理下)?也可能是我們可以把getters里的值映射到組件的computed中,這樣通過vuex修改了state中的某一項的值之后,就可以自動更新數據。
    例如

data: {
  key: this.$store.key
},
computed: {
  ...mapGetters([
    'key'
  ])
}
// 我們通過vuex修改了state中的key的值之后,`computed`中的獲得的值是會自動變的,因為vuex中的`getter`就是"計算屬性"


查看完整回答
反對 回復 2018-09-09
?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

關于 mutations 里方法的 Computed Property Names 命名,這里的 types.CHECKOUT_REQUEST 相當于 C 語言中的常量,主要作用是防止拼寫錯誤,如果不采用 [types.CHECKOUT_REQUEST] 這種方式,當有拼寫錯誤時代碼檢查工具也檢查不出來,是一種值得借鑒的代碼風格。

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

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號