vuex-demo

5 篇文章 0 订阅
5 篇文章 0 订阅
本文详细介绍了使用Vue框架结合Vuex状态管理库进行组件开发的过程。通过创建两个产品展示组件,演示了如何在Vue中引入Vuex进行状态管理,包括状态、获取器、突变和操作的使用,以及如何在组件中计算属性来访问状态。
摘要由CSDN通过智能技术生成

新建2个组件:productOne,productTwo

store.js 

import Vue from 'vue'

import Vuex from 'vuex'

Vue.use(Vuex)

export const store = new Vuex.Store({

state:{}

})

main.js

import Vue from 'vue'

import App from './App.vue'

import {store} from './store/store.js'

new Vue({

el:'#app',

store,

render:h=>h(App)

})

import Vue from 'vue'

import Vuex from 'vuex'

Vue.use(Vuex)

export const store = new Vuex.Store({

state:{

products:[

{name:'apple',price:'2'},

{name:'banana',price:'3'},

{name:'pear',price:'4'},

{name:'melon',price:'5'},

]

}

})

<template>

<div class="product-one">

<ul>

<li v-for="item in product">

<div class="name">{{item.name}}</div>

<div class="price">{{item.price}}</div>

</li>

</ul>

</div>

</template>

<script>

export default{

computed:{

product(){

return this.$store.state.products

}

}

}

</script>

 

import Vue from 'vue'

import Vuex from 'vuex'

Vue.use(Vuex)

export const store = new Vuex.Store({

state:{

products:[

{name:'apple',price:'2'},

{name:'banana',price:'3'},

{name:'pear',price:'4'},

{name:'melon',price:'5'},

]

},

getters:{

changeProduct:(state) =>{

return state.products.map(val => {

return {

name:'**' +val.name+'--',

price:val.price*2

}

})

return state.products

}

},

mutations:{

decrePrice(state){

state.products.forEach(val =>{

val.price -=1

})

}

}

})

methods:{

decrePrice(){

return this.$store.commit('decrePrice')

}

}

methods:{

decrePrice(){

return this.$store.dispatch('decrePriceAction')

}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值