数组监听有个地方不明白

来源:4-6 vue如何监听数组变化

光天化日之下

2020-02-26

// 创建新对象,原型指向 oldArrayProperty ,再扩展新的方法不会影响原型
const arrProto = Object.create(oldArrayProperty);
[‘push’, ‘pop’, ‘shift’, ‘unshift’, ‘splice’].forEach(methodName => {
arrProto[methodName] = function () {
updateView() // 触发视图更新
oldArrayProperty[methodName].call(this, …arguments)
// Array.prototype.push.call(this, …arguments)
}
})

老师,为什么这里是先执行 updateView() 然后再执行 oldArrayProperty[methodName].call(this, …arguments)?难道不是应该先更新数据,然后再用最新的数据去渲染视图吗?

写回答

1回答

双越

2020-02-26

对。这里确实是疏漏了,应该是先执行方法,在触发视图更新。非常抱歉,这个细节搞乱了。

感谢你提出来,点赞!

0
0

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

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

4706 学习 · 1669 问题

查看课程