Javascript 如何在Vuex状态创建中使用函数
我正试图使用一个getter来设置我的部分状态,我稍后会定义这个getterJavascript 如何在Vuex状态创建中使用函数,javascript,vue.js,vuejs2,vuex,Javascript,Vue.js,Vuejs2,Vuex,我正试图使用一个getter来设置我的部分状态,我稍后会定义这个getter export const store = new Vuex.Store({ state : { a : 1, b : getters.multiply(a) }, getters : { multiply : (state) => (param) => return param * 2 }, }) 这是不允许的,因为getter还没有准备好(我想) 文档中确实说明V
export const store = new Vuex.Store({
state : {
a : 1,
b : getters.multiply(a)
},
getters : {
multiply : (state) => (param) => return param * 2
},
})
这是不允许的,因为getter还没有准备好(我想)
文档中确实说明Vuex state属性可以使用函数来创建数据,但我没有看到任何示例,完整状态是否需要通过函数调用或一些道具初始化
感谢您的帮助。通常,
getters
是获取状态数据的方法。它不应该是两种方式。
在上述示例中,您可以执行以下操作:
const multiply = (params) => params * 2
const INIT_VALUE = 1
export const store = new Vuex.Store({
state : {
a : INIT_VALUE,
b : multiply(INIT_VALUE)
}
})
谢谢,但是这会在外部设置值,您不能直接传入
a
?为什么要直接传入a?如果b仅依赖于a,则可以为其创建另一个getter(例如getB)。上面的示例仅用于参考,实际的应用程序代码要复杂得多<就我所知,代码>b不能包含getter??问题是a
是在创建和更改存储后设置的,b
取决于a
,但由于状态更改,它们需要是单独的对象。如果需要单独保留a
和b
,那么当您更改a
值时(例如,您更改了a
),您还可以更改b
值