vue.js里的data属性只是原始数据么?计算属性里属性的为什么不在data里,但为什么又能访问到?
如下所示,打印vm.$data里面只有a,没有b,但为什么通过vm.b又能拿到b的值,这是为什么?
<div id="example">
a={{ a }}, b={{ b }}
</div>
var vm = new Vue({
el: '#example',
data: {
a: 1
},
computed: {
b: function () {
return this.a + 1
}
}
})
支持@Chobits 以及@W2EX,看文档总是没有错的。
首先第一个问题:
这里并没有说会实例会代理计算属性。
至于计算属性是怎么被使用的,看这里:
并没有把计算数据放到
$data
里面去哦,而是通过Object.defineProperty(this, key, def)
直接定义到了实例上