ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

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

2026/10/3 22:51:46 拓冰建站 浏览量
Vue2面试题:说一下$set的作用和原理?

    作用:

        对象:

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

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

            解决:this.$set()

        数组:

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

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

            解决:

                1. this.$set()

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

    原理:

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

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