vue基础之4:el与data的两种写法、理解MVVM、Object.defineProperty方法、数据代理

欢迎来到"雪碧聊技术"CSDN博客!

在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将不断探索Java的深邃世界,分享最新的技术动态、实战经验以及项目心得。

让我们一同在Java的广阔天地中遨游,携手提升技术能力,共创美好未来!感谢您的关注与支持,期待在"雪碧聊技术"与您共同成长!

目录

一、el、data的两种写法

1、el的作用

举例:

2、el的替代写法

举例:

3、data的作用

4、data的替代写法

举例:

进一步化简:

注意:

①等我们学到以后,必须使用这种用函数返回data的方式。(如果不这么做,以后肯定会报错)

[②用函数返回data时,一定不要写箭头函数()=>{},因为这么写,导致this不再是vue实例,而是window ,根本原因是箭头函数中不存在this的概念,因此就会往上找this。](#②用函数返回data时,一定不要写箭头函数()=>{},因为这么写,导致this不再是vue实例,而是window ,根本原因是箭头函数中不存在this的概念,因此就会往上找this。)

5、总结

二、理解MVVM

1、什么是MVVM?

①M:模型(Model),对应vue实例的data中的数据。

②V:视图(View),模板,即html容器。

③VM:视图模型(ViewModel),指的是vue实例对象。

2、图示

注意:由于vue实例在MVVM模型中,是VM这个角色,因此以后vue实例都会命名为VM这个名称。

举例:

3、总结

[举例:在容器中,通过{{ }}可以访问vue实例的所有内容。](#举例:在容器中,通过{{ }}可以访问vue实例的所有内容。)

三、Object.defineProperty方法

1、Object.defineProperty方法是用来干什么的?

2、举例:给对象添加一个属性

3、存在的问题

①通过Object.defineProperty添加的属性,默认是不可以遍历的

举例:

②通过Object.defineProperty添加的属性,默认是不可以修改的

举例:

③通过Object.defineProperty添加的属性,默认是不可以删除的

举例:

4、解决上述问题

5、Object.defineProperty方法的好处

6、Object.defineProperty中的get方法

①作用:读取变量的值,作为属性的值。

②举例:通过读取变量number的值,作为追加属性age的值。

7、Object.defineProperty中的set方法

①作用:用来接收属性被修改时,修改后的值。

②举例:

③存在的问题:person中的age属性没变化

④改进:在set方法中,刷新number变量的值

8、方法简写问题

举例:

四、数据代理

1、什么是数据代理?

2、举例:让对象obj2,代理对象obj


一、el、data的两种写法

1、el的作用

用来将容器和vue实例进行绑定。

举例:

2、el的替代写法

复制代码
vue实例名.$mount('容器选择器')
举例:

3、data的作用

声明vue实例中的数据,这样才能给html容器(在vue中叫"模板")中的数据赋值。

4、data的替代写法

举例:

进一步化简:

注意:

①等我们学到以后,必须使用这种用函数返回data的方式。(如果不这么做,以后肯定会报错)
②用函数返回data时,一定不要写箭头函数()=>{},因为这么写,导致this不再是vue实例,而是window ,根本原因是箭头函数中不存在this的概念,因此就会往上找this。

5、总结

二、理解MVVM

1、什么是MVVM?

①M:模型(Model),对应vue实例的data中的数据。

②V:视图(View),模板,即html容器。

③VM:视图模型(ViewModel),指的是vue实例对象。

2、图示

运行结果:

注意:由于vue实例在MVVM模型中,是VM这个角色,因此以后vue实例都会命名为VM这个名称。

举例:

3、总结

举例:在容器中,通过{{ }}可以访问vue实例的所有内容。

三、Object.defineProperty方法

1、Object.defineProperty方法是用来干什么的?

用来给对象添加一个属性。

2、举例:给对象添加一个属性

运行结果:

3、存在的问题

①通过Object.defineProperty添加的属性,默认是不可以遍历的

举例:

运行结果:

②通过Object.defineProperty添加的属性,默认是不可以修改的

举例:

③通过Object.defineProperty添加的属性,默认是不可以删除的

举例:

4、解决上述问题

5、Object.defineProperty方法的好处

使用该方法添加的对象属性,可以对其进行很多限制,比如:对象的属性是否可以被枚举、被修改、被删除等等,在某些特定场景下,是需要这些限制的。

6、Object.defineProperty中的get方法

①作用:读取变量的值,作为属性的值。

②举例:通过读取变量number的值,作为追加属性age的值。

运行效果:

7、Object.defineProperty中的set方法

①作用:用来接收属性被修改时,修改后的值。

②举例:

③存在的问题:person中的age属性没变化

④改进:在set方法中,刷新number变量的值

运行效果:

8、方法简写问题

举例:

简写后:

四、数据代理

1、什么是数据代理?

通过一个对象代理,对另一个对象中的属性进行操作(读/写)。

2、举例:让对象obj2,代理对象obj

运行结果:

相关推荐
华洛1 小时前
讲讲如何在传统产品中挖掘AI需求
javascript·产品经理·产品
why技术2 小时前
AI Coding开始进入第四个时代,我还没上车呢!
前端·人工智能·后端
大家的林语冰3 小时前
CSS 已死?DOM 性能黑洞!Pretext 排版革命让你在文本间跳舞,没有 DOM 也能纵享丝滑~
前端·javascript·css
vipbic3 小时前
我也该升级了,陪伴了我7年的博客
前端
Lee川3 小时前
RAG 实战:从一篇掘金文章出发,拆解检索增强生成的全链路
前端·人工智能·后端
Lee川3 小时前
MCP 高德地图实战:当 AI 学会使用工具,一个协议如何重塑大模型的行动边界
前端·人工智能·后端
ZC跨境爬虫4 小时前
跟着 MDN 学CSS day_14:(尺寸调整技能测试与实战解析)
前端·css·ui·html·tensorflow
kyriewen4 小时前
用魔法打败魔法:我让AI替我去面试前端岗,AI面试官给我打了92分,还发了offer
前端·javascript·面试
IT_陈寒4 小时前
Redis批量删除踩了坑,原来DEL命令不是万能的
前端·人工智能·后端
lichenyang4534 小时前
鸿蒙聊天 Demo 练习 06:AI 思考气泡与 MVVM + Controller 结构重构
前端