javascript-vuex操作有效负载的默认值?

前端之家收集整理的这篇文章主要介绍了javascript-vuex操作有效负载的默认值? 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试提出一种更好的方法来为vuex动作有效负载属性设置默认值,现在我正在使用if-else来检查传递的有效负载对象是否具有delay属性,如果没有的话我将值设置为默认值,您可以想象其余的值.

有没有更好的方法可以减少行数?我确定一定有.

这是我的动作:

showModal ( {commit},modalPayload ) {

        let delay;

        if(modalPayload.delay == undefined){
            delay = 3000;
        }
        else{
            delay = modalPayload.delay
        }

        commit('SHOW_MODAL',modalPayload);
        setTimeout(function(){
            commit('HIDE_MODAL');
        },delay);

    },

提前致谢.

最佳答案
您可以使用destructuring assignment设置默认值:

showModal ({ commit },modalPayload) {
  const { delay = 3000 } = modalPayload

  commit('SHOW_MODAL',modalPayload);
  setTimeout(() => commit('HIDE_MODAL'),delay);

}

另外,如果不需要传递延迟到提交,则可以分解第二个函数参数:

showModal ({ commit },{ delay = 3000,...modalPayload }) {
  commit('SHOW_MODAL',delay);
}

猜你在找的JavaScript相关文章