在父、子组件中同时使用了window.onresize,子组件中window.onresize无效。
子组件代码如下:出现问题为console的lineHeigt为2,但实际在vue中lineHeigt仍为0
data(){
return {
lineHeigt: 0
}
},
mounted() {
let _this = this;
window.onresize = function() {
_this.getLineHeight();
}
},
methods: {
getLineHeight() {
this.lineHeigt = 2;
console.log(this.lineHeigt); // 2
}
}
解决方案:将如下写法改为用addEventListeners
window.onresize = function() {
_this.getLineHeight();
}
window.addEventListener('resize', () => this.getLineHeight());