求问为什么set的时候监听新增和删除不到呢?

来源:4-5 如何深度监听data变化

雪落无痕2018

2020-03-29

双越老师好,我想问下Object.defineProperty定义get和set的时候,configurable和enumerable还生效么,我记得如果是数据描述符的话,这两个貌似都是true的,按理来说应该有效。难道是仅仅因为新增和删除的时候没有走set而已才导致的这个问题么,想的有点懵。十分感谢。

写回答

1回答

双越

2020-03-29

没太懂你的问题。你意思是, 触发了 set 之后,configurable 和 enumerable 无效了吗?

0
1
雪落无痕2018
没事了,老师,是我理解错了,最开始本来就没有对后面新增的属性加监控劫持,set自然是无效的,而delete则是因为,都已经把当前属性删除掉了,所以for循环不会走那个属性,也就不会有set,也就不会触发视图更新。然后至于数组不会触发,个人感觉是因为数组里面的key和value,数组里面就拿这个例子来说,key是0,1,2,而3被认为是一个新增的属性,那么就和之前的新增一样了,没有对它最开始添加绑定,所以就不会触发。
2020-03-29
共1条回复

2024版 前端框架及项目面试 聚焦Vue3/React/Webpack

面向1-3年前端的框架及项目面试“刚需内容”

4664 学习 · 1644 问题

查看课程