vue computed 主要依靠数据依赖来更新,这里不展示computed源代码,只展示核心思想. computed: { a(){ return this.b ++ } } data:{ b: 1 } vue中如果b变化,a也会变化.这儿为了简单,不在展示computed.a的set跟get 1.data中的数据需要使用es5中的 Object.defineProperty 设置set,get属性. 2.在运行computed.a()函数的时候,需要建立数据依赖,搜集. // 做一个构造函数