状态管理 vuex
mutations
//定义
function set_value(state, number) {
state.num
}
//调用
this.$store.commit('add', 2)
actions
//定义
function change_num(store, number) {
setInterval(()=>{store.commit('set_value', number)}, 1000);
}
//调用
this.$store.dispatch('change_num', 3)
getters
//定义
function num_sqrt(state) {
state.num = state.num ** 2;
}
//调用
this.$store.state.num_sqrt
//闭包实现传递参数
function num_pow(state) {
return function (n) {
return state.num ** n;
}
}
//调用
this.$store.state.num_pow(2)
modules
//定义
store/getter.js
const getter = {
get_price(state) {
return state.product.price;
}
}
//调用
this.$store.getters.get_price
//定义
store/mudules/product.js
const mutations = {
set_price(state, number) {
state.price = number;
}
}
export default {
namespaced:false,
mutations:mutations
}
//调用
this.$store.commit('set_price', 100); //namespaced:false时的调用方式
this.$store.commit('product/set_price', 100); //namespaced:true时的调用方式
参考:https://www.cnblogs.com/huangjiahuan1314520/p/14343890.html
【vue】状态管理
于 2022-03-15 14:50:44 首次发布