如何检查Vuex状态对象是否为空

时间:2017-07-06 21:35:11

标签: javascript vue.js vuex

我有一个Vuex状态的初始空对象,它从API更新。

const state = {
  someObject: {}
}

如何在模板中检查对象是否为空?

<template>
  <div v-if="someObject">
    This should not display when someObject is empty.
  </div>
</template>

检查状态对象是否设置为空的最佳做法是什么?

我应该最初设置someObject: null/undefined/false,即使它希望用新对象更新吗?

检查吸气剂是否有意义?

export const someObject = state => Object.getOwnPropertyNames(state.someObject).length == 0 ? state.someObject : false

2 个答案:

答案 0 :(得分:3)

根据特定的用例,我会将其设置为null / undefined,或者如果通过某些必需的对象属性进行检查,例如v-if =&#39; someObject.id&#39;

任何其他东西都会成为不必要的并发症。

答案 1 :(得分:2)

您可以使用lodash方法:_.isEmpty({someObject});

或者如果你想做一个吸气剂:

computed:{
  objectLength(state){
    return Object.keys(state.someObject).length
  }