前提:
博主很菜, 刚开始学Vue, 使用vue写了虚拟列表, 由于个人粗心的原因导致了 新建一个元素点击无法更改css的BUG, 但是通过这个BUG发现了我自己身上的一些知识盲点问题描述:
let addFilm = {
name: this.addFilmName,
desc: this.addFilmDesc,
score: this.formatTooltip(this.addFilmScore),
// status: false
};
之前忘记了status的属性, 所以导致了这个bug。
在加这个属性之前的log、
在加这个属性之后的log
由此可见, 在log方面已经观察到了区别,而且 在点击这个元素的时候无法改变样式,除非滚动进度条,和点击其他元素才会跟着改变样式。
所以我想到可能是 其他元素的变化是由于vue的一些监听机制导致渲染的所有数组的属性获取了一遍,监听的滚动条事件也是对数组的操作,也是对数组的重新渲染,所以问题的关键点应该就在这里。
结论: 应该我没有直接新增此条属性,导致没有进入到vue的observer中,无法监听属性变化调取回调更改样式。