LOGO

什么东西可以保存在data里?

编辑本文

在 San 的文档中写道:” San 是一个 MVVM 的组件框架,通过 San 的视图引擎能够让用户只用操作数据,视图自动更新”。这里要说的 data 指的就是用户操作的”数据”。data 里应该存与视图相关的数据状态。

data 中保存的数据

对于一个组件,data 数据的来源可分为如下两种:
1、组件自身定义的数据;
2、从父组件中传入的数据;
3、computed 中定义的数据;
以上三种,我们都可以通过this.data.get()方法获取。

组件自身定义的数据(状态)保存在该组件的 data 中,可以对其进行修改从而影响当前组件以及子组件的视图。从父组件传入的数据,可以从 data 中获取,但通常我们只是使用这个数据,如果要更改从父组件传入的数据,虽然可以直接在组件内更改,但通常的做法是到该数据初始化的地方去更改。

data 数据应该是纯数据

data 数据可以是字符串、数值、 数组、原生对象这样的纯数据。对于正则表达式,纯函数这样的,如果是在组件自身使用,则需要外部引入,或者作为组件的方法。 但如果要传递给子组件使用,则可以存放在 data 中。 例如,在表单组件中,我们可能会在业务层自定义验证方法,传入子组件使用。