HTML代码
<template>
<div class=''>
<div class="color" :style="{background:$store.state.color}">
</div>
<button @click="add" :style="{color:$store.state.color}">点击切换颜色</button>
</div>
</template>
script代码
export default {
setup(props, ctx) {
const add=()=>{
store.commit("add")
}
return { ...toRefs(data) ,add};
},
};
vuex代码
import { createStore } from 'vuex'
import vuexPersist from 'vuex-persist'
export default createStore({
state: {
color:""
},
mutations: {
add(state){
let color = Math.floor(Math.random() * 16777216).toString(16)
state.color = '#' + color
}
},
plugins: [
new vuexPersist({
storage: window.localStorage
}).plugin
]
})