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

And*_*eas 6 javascript vue.js vuex

我有一个初始空对象,处于Vuex状态,可以从API更新。

const state = {
  someObject: {}
}
Run Code Online (Sandbox Code Playgroud)

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

<template>
  <div v-if="someObject">
    This should not display when someObject is empty.
  </div>
</template>
Run Code Online (Sandbox Code Playgroud)

检查状态对象是否已设置/为空的最佳实践是什么?

someObject: null/undefined/false即使应该使用新对象进行更新,我也应该进行初始设置吗?

进行吸气剂检查是否有意义?

export const someObject = state => Object.getOwnPropertyNames(state.someObject).length == 0 ? state.someObject : false
Run Code Online (Sandbox Code Playgroud)

apr*_*ja1 9

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

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

computed:{
  objectLength(state){
    return Object.keys(state.someObject).length
  }
Run Code Online (Sandbox Code Playgroud)


小智 7

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

其他任何事情都被认为是不必要的复杂化。