Vue2面试题:说一下$set的作用和原理?

2024-01-07 23:12:04

? ? 作用:

? ? ? ? 对象:

? ? ? ? ? ? 响应式原理:通过触发setter实现更新

? ? ? ? ? ? 对象中后追加的属性、删除已有属性,Vue默认不做响应式处理

? ? ? ? ? ? 解决:this.$set()

? ? ? ? 数组:

? ? ? ? ? ? 响应式原理:调用重写的原生方法实现更新

? ? ? ? ? ? 数组中修改某下标的元素、更新length,Vue默认不做响应式处理

? ? ? ? ? ? 解决:

? ? ? ? ? ? ? ? 1. this.$set()

? ? ? ? ? ? ? ? 2. 使用原生API:push、pop、shift、unshift、splice、sort、reverse

? ? 原理:

? ? ? ? 如果目标是数组,直接使用数组的splice方法通知实现更新

? ? ? ? 如果目标是对象,先给对象属性用数据代理添加getter、setter,再通过触发setter通知实现更新

文章来源:https://blog.csdn.net/m0_74802419/article/details/135396748
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。