Vue大屏自适应终极解决方案
<template>
<div id="app">
<div class="screen-container" :style="screenStyle">
<!-- 内容 -->
</div>
</div>
</template>
<script>
export default {
data() {
return {
screenWidth: 0,
screenHeight: 0
};
},
computed: {
screenStyle() {
return {
width: this.screenWidth + 'px',
height: this.screenHeight + 'px',
'background-color': 'black' // 示例背景颜色
};
}
},
created() {
this.handleResize();
window.addEventListener('resize', this.handleResize);
},
destroyed() {
window.removeEventListener('resize', this.handleResize);
},
methods: {
handleResize() {
this.screenWidth = window.innerWidth;
this.screenHeight = window.innerHeight;
}
}
};
</script>
<style>
.screen-container {
position: absolute;
top: 0;
left: 0;
overflow: hidden;
}
</style>
这个代码示例展示了如何在Vue应用中创建一个全屏的容器,并在窗口大小改变时自适应。它使用了计算属性来动态生成容器的样式,并在created
钩子中设置了初始大小,在destroyed
钩子中移除了窗口大小改变的监听。
评论已关闭