在Vuex中,我的突变对象如下:
mutations: {
someMethod(){
this.someReusableCode();
},
anotherMethod(){
this.someReusableCode();
},
someReusableCode(){
...
}
}
但是,我收到的错误是someReusableCode()
未定义。定义someReusableCode()
方法的最佳位置在哪里,这样才有效?
答案 0 :(得分:2)
您可以在path
对象($( "#sortable1" ).sortable({
items: "li:not(.ui-state-disabled)"
});
的实例)之外定义共享方法。
store
Vuex.Store
const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
increment(state) { this.inc(state) },
decrement(state) { this.dec(state) }
}
})
// Shared functions of store
store.inc = state => state.count++;
store.dec = state => state.count--;
答案 1 :(得分:-1)
您可以将helper方法保留在store.js中。 只需这样做:
export default new Vuex.Store({
state: {
count: 0
},
helperMethods: {
inc: (input, increment) => input + increment
mutations: {
incrementByFive(state) { state.count = this.helperMethods.inc(state.count,5) },
}
})