watch、computed和methods的区别、MVVM和MVC以及vue中的事件修饰符

本文详细介绍了Vue.js中的watch、computed和methods的区别,强调了它们在数据处理和响应式系统中的角色。watch用于监听数据变化并执行相应操作,computed则用于计算属性,自动更新视图。methods是普通的函数,每次渲染时都会调用。此外,文章还对比了MVVM和MVC设计模式,解释了MVVM如何通过双向数据绑定简化开发。重点讨论了Vue中事件修饰符的用法,如.stop、.prevent等,以及它们在事件处理中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

watchcomputedmethods的区别

·  methods即是方法,封装的功能代码块,调用后执行。在重新渲染的时候每次都会被重新的调用;

·  computed 是自动监听依赖值的变化,从而动态返回内容,主要目的是简化模板内的复杂运算。所以区别来源于用法,只是需要动态值,那就用 computed ;需要知道值的改变后执行业务逻辑,才用 watch。

·   watch也可以影响数据的变化,当绑定的数据方法变化时触发响应的函数,需要在数据变化时执行异步或开销较大的操作时使用watch。

MVVM和MVC

MVC

mvc是一种编程思想,是一种设计模式

M: model 数据模型层 提供数据

V: view 视图层 显示页面

C: controller 控制层 调用数据渲染视图

理解:视图请求数据,将请求发送至控制器,控制器再将请求发送给模型,模型去查找数据,找到之后传给控制器,控制器再传给视图进行渲染。

MVVM

 

M:model 数据模块层 提供数据

V:view 视图层 渲染数据

VM: ViewModel 视图模型层 调用数据,渲染视图

由数据来驱动视图(不需要多考虑DOM操作,把重心放在VM上)

MVVM就是Model-View-ViewModel的缩写,MVVM将视图和业务逻辑分开。
View:视图层,Model数据模型,而ViewModel是把两者建立通信的桥梁。
在MVVM框架下,View和Model之间没有直接的联系,而是通过ViewModel进行交互。View和ViewModel之间以及Model和ViewModel之间的交互都是双向的,因此view数据的变化会同步到Model中,而Model数据的变化也会立即反映到View上。可以说它们两者是实时更新的,互相影响。  ViewModel通过双向数据绑定把View层和Model层连接了起来,而View和Model之间的同步工作完全是自动的,因此开发者只需要关注业务逻辑,不需要手动操作DOM,也不需要关注数据状态的同步问题,这些都由MVVM统一管理。

vue中的事件修饰符

事件修饰符用于DOM的事件处理,常用的修饰符如下:

(1). stop:阻止冒泡(阻止事件向上级DOM元素传递)

  (2). prevent:阻止默认事件的发生

(3). capture:捕获冒泡,即有冒泡发生时,有该修饰符的dom元素会先执行,如果有多个,从外到内依次执行,然后再按自然顺序执行触发的事件。

  (4). self:将事件绑定到自身,只有自身才能触发,通常用于避免冒泡事件的影响

(5). once:设置事件只能触发一次,比如按钮的点击等。

(6). passive:该修饰符大概意思用于对DOM的默认事件进行性能优化,根据官网的例子比如超出最大范围的滚动条滚动的。

( 7 ).  native:在父组件中给子组件绑定一个原生的事件,就将子组件变成了普通的HTML标签,不加'. native'事件是无法触 发的。(可以理解为该修饰符的作用就是把一个vue组件转化为一个普通的HTML标签,并且该修饰符对普通HTML标签是没有任何作用的)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值