老师,vm.$data需要加$,vm.test为什么不加呢
来源:3-2 Vue实例生命周期
蓝色天空3922447
2018-07-12
写回答
3回答
-
简单来说,加 $ 的是 vue 框架定义的内部属性,不加 $ 的是用户定义的自定义属性。
内部属性是固定的几个,比如 vm.$el vm.$data vm.$props ,每一个内部属性代表不同内容,具体自己查官网 API 文档
自定义属性是用户定义在 vue 实例的 data 选项上的属性,数量不限,属性名可以随便定义
new Vue({
data: { // 这里的 data 对象通过 vm.$data 来访问,
message: 'hello world', // 这是用户自定义属性,通过 vm.message 或 vm.$data.message 来访问
age: 30 // 这也是用户自定义属性
}
})
访问用户自定义属性时候,通过 vm.属性名 访问,例如 vm.messsage vm.age
访问内部属性的时候,通过 vm.$属性名 访问,例如 vm.$el vm.$data
vm.$data 是一个 Object ,指向 new Vue({ data: {} }) 中的 data 选项对象
vm.$data === {
message: 'hello world',
age: 30
}
所以访问 vm.message 其实就是访问 vm.$data.message
20 -
蓝色天空3922447
提问者
2018-07-14
什么时候加$,什么时候不加呢
00 -
Dell
2018-07-14
vue里面的设计是这样的,vm.test 实际上会自动去找vm.$data.test的内容
00
相似问题