Appearance
依赖收集
数据驱动视图
在这里,我们可以把数据理解为状态,而视图就是用户可直观看到页面。页面不可能是一成不变的,它应该是动态变化的,而它的变化也不应该是无迹可寻的,它或者是由用户操作引起的,亦或者是由后端数据变化引起的,不管它是因为什么引起的,我们统称为它的状态变了,它由前一个状态变到了后一个状态,页面也就应该随之而变化,所以我们就可以得到如下一个公式:
UI = render(state)
上述公式中:状态 state 是输入,页面 UI 输出,状态输入一旦变化了,页面输出也随之而变化。我们把这种特性称之为数据驱动视图。
OK,有了基本概念以后,我们再把上述公式拆成三部分:state、render()以及 UI。我们知道 state 和 UI 都是用户定的,而不变的是这个 render()。所以 Vue 就扮演了 render()这个角色,当 Vue 发现 state 变化之后,经过一系列加工,最终将变化反应在 UI 上。
那么第一个问题来了,Vue 怎么知道 state 变化了呢?