遇到问题

需要在页面渲染完成之后获取文档标题的scrollTop用来监听计算活动菜单项。在mounted中执行获取

const elements = document.querySelectorAll('className');
console.log(elements);
elements.map(...) 

发现提示错误.map is not function, 通过打印发现数组发现 this value was evaluated upon first expanding, that maybe change since then 。然后发现不论使用Array.from或者[...elements] 或者 JSON.parse(JSON.stringfify(elements))都无法获取到里面的数据,但是打印台是可以看见的。
文档内容通过v-html渲染的

分析原因

上面错误提示翻译过来就是,当前数值是在第一次展开的时候计算得出的,这个值是随时变化的。所以感觉应该是执行顺序问题

解决方案

最后通过将执行顺序mounted挪到updated里面就可以了,如果还不行在执行前加上this.$nextTick

Logo

前往低代码交流专区

更多推荐