在父、子组件中同时使用了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());
Logo

前往低代码交流专区

更多推荐