溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何在vuex中直接賦值

發(fā)布時(shí)間:2021-05-19 17:38:58 來(lái)源:億速云 閱讀:318 作者:Leah 欄目:web開發(fā)

本篇文章為大家展示了如何在vuex中直接賦值,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

第一種方法 通過(guò)computed的計(jì)算屬性直接賦值

1.store.js(vuex的代碼如下):

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const state={//狀態(tài)對(duì)象
num:1,
}
const mutations={//觸發(fā)狀態(tài)
jia(state){
  state.num++;
 },//做加法
jian(state){
  state.num--;
 },//做減法
 
}
export default new Vuex.Store({
state,
mutations,
})

2.你自己組件a.vue代碼如下:

<template>
 
 <div>
  <h3>{{msg}}</h3>
  <hr/>
  <h4>{{$store.state.num}}-{{num}}</h4><!--此處要實(shí)現(xiàn){{num}}的寫法,需要通過(guò)計(jì)算屬性進(jìn)行寫-->
  
<div>
 <button @click="$store.commit('jia')">+</button>
 <button @click="$store.commit('jian')">-</button>
 
</div>
 </div>
</template>
<script>
 import store from '@/store'
 export default{
  data(){
   return{
    msg:'Hello Vuex',
    
   }
  },
  computed:{
  num(){
  return this.$store.state.num;//這里就是計(jì)算屬性的寫法
  }
  },
  store
  
 }
</script>
<style scoped>
</style>

注意:計(jì)算屬性寫法一定不要忘了給num()與上面的模板要同名

第二種方法 通過(guò)mapState的對(duì)象來(lái)賦值

這種方法更為簡(jiǎn)單

第一步 a.vue引入mapState

import {mapState} from 'vuex'

第二步將上面的計(jì)算屬性改成下面這種寫法即可

computed:mapState({num:state=>state.num}),即可

第三種方法通過(guò)mapState的數(shù)組來(lái)賦值

代碼如下所示:

把上面的計(jì)算屬性直接改成下面這種形式

computed:mapState(["num"])

注:記得加上import {mapState} from 'vuex'

上述內(nèi)容就是如何在vuex中直接賦值,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI