1 代码
<body> <div id="root"> <h1>{{name}}</h1> <h1>{{obj}}</h1> </div> <script type="text/javascript" > let a = { name:'sisi' } const vm = new Vue({ el:'#root', data:{ name:a.name, obj:a } }) </script> </body>
2 页面
3 vm外层属性 _data属性 及vm外部变量
1)vm外层属性和_data属性的关系
可以看到vm外层的属性和_data里面的属性是相等的,因为外层的属性就是代理的_data的属性
2)_data属性的值使用的是vm以外的对象的话
值是一般数据类型:初始化的时候把值赋值给_data的属性了,后面两者可以说没有关系了
值是对象:初始化的时候把对象地址赋值给_data的属性了
4 测试1
初始化的时候,值全部是'sisi'
执行命令a.name='数学'
结果:
a对象的name属性变化了
vm._data.obj.name 变化了,vm.obj.name变化了
vm.name没变化,vm._data.name没变化
5 测试2
刷新页面,初始化的时候,值全部是'sisi'
执行命令vm.name='历史'
结果:
vm.name变化,vm._data.name变化
vm._data.obj.name 没变,vm.obj.name没变
a对象的name属性没变
6 测试3
刷新页面,初始化的时候,值全部是'sisi'
执行命令vm.obj.name='化学'
结果:
vm._data.obj.name 变了,vm.obj.name变了
a对象的name属性变了
vm.name没变,vm._data.name没变
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?