我正在尝试提出一种更好的方法来为vuex动作有效负载属性设置默认值,现在我正在使用if-else来检查传递的有效负载对象是否具有delay属性(如果有)我不是将值设置为默认值,其余的都可以想象得到。
是否有更好的方法可以减少行数?我确定一定有。
这是我的动作:
{{1}}
谢谢。
答案 0 :(得分:2)
您可以使用destructuring assignment设置默认值:
showModal ({ commit }, modalPayload) {
const { delay = 3000 } = modalPayload
commit('SHOW_MODAL', modalPayload);
setTimeout(() => commit('HIDE_MODAL'), delay);
}
此外,如果不需要将delay
传递到commit
,则可以解构第二个函数参数:
showModal ({ commit }, { delay = 3000, ...modalPayload }) {
commit('SHOW_MODAL', modalPayload);
setTimeout(() => commit('HIDE_MODAL'), delay);
}