element的Container 布局容器如下,可是如何保证header和aside固定呢?
代码语言:javascript复制<el-container>
<el-header>Header</el-header>
<el-container>
<el-aside width="200px">Aside</el-aside>
<el-main>Main</el-main>
</el-container>
</el-container>
官方例子:
代码语言:javascript复制<el-container style="height: 500px; border: 1px solid #eee">
<el-aside width="200px" style="background-color: rgb(238, 241, 246)">
<el-menu :default-openeds="['1', '3']">
<el-submenu index="1">
原来是要将container页面高度固定,height: 500px
实际使用过程中,可以获取屏幕高度,然后用vue中的ref获取对象
html:
代码语言:javascript复制<template>
<div id="app">
<el-container ref="homePage">
script:
代码语言:javascript复制 export default {
name: 'App',
data(){
return {
clientHeight:'',
}
},
mounted(){
// 获取浏览器可视区域高度
this.clientHeight = `${document.documentElement.clientHeight}`
//document.body.clientWidth;
//console.log(self.clientHeight);
window.onresize = function temp() {
this.clientHeight = `${document.documentElement.clientHeight}`;
};
},
watch: {
// 如果 `clientHeight` 发生改变,这个函数就会运行
clientHeight: function () {
this.changeFixed(this.clientHeight)
}
},
methods:{
changeFixed(clientHeight){ //动态修改样式
// console.log(clientHeight);
// console.log(this.$refs.homePage.$el.style.height);
this.$refs.homePage.$el.style.height = clientHeight-20 'px';
},
},
}
关键是用 this.$refs.homePage.$el.style.height = clientHeight-20 'px';