vue 文档中 vue 实例:数据与方法 就提到,只有当实例被创建时就已经存在于 data 中的属性才是响应式的。

项目中我们通常把需要响应式的 数据对象 或者 数据数组 初始化赋值为 null

这么做有什么好处呢?或者说为什么初始化要为 null,对象为 {},数组为 [],不行吗?

首先,需要肯定的是,我们需要用到的数据属性,建议是应该先定义为 data 对象属性,这就为我们省去了后面手动添加响应式渲染的操作 Vue.set

其次,初始化为 null,或者分别是后面两者,这里看个人习惯。下面说说初始化为 null 的情况:

// 假设我们的数据属性是 list 初始化为 null
list: null
// 当我们通过接口异步获取数据时,页面应该处于 loading 状态
list == null  // 我们只需要判断其是否为 null 即可
// 当我们获取数据之后:
// 1)有数据 ==> 渲染 
list && list.length // 我们只需要判断其是否存在以及长度存在
// 2)无数据 ==> 空状态提示
list && !list.length // 我们只需要判断其是否存在以及长度无即可
Logo

前往低代码交流专区

更多推荐