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