须要达到的目标
- 在初始化页面时依据可视窗口的宽度决定是否暗藏左侧的导航栏
- 点击切换按钮时切换左侧导航的状态
成果展现
实现局部
首先实现动态页面布局,左侧局部应用fixed相对定位,左边局部则应用padding-left
<template> <div class="home"> <div :class="[isOpen?'sider_open':'sider_close']"> this is sider <p class="c-layout-sider-open-icon" @click="setWidth"></p> </div> <div :class="[isOpen?'c-layout-content-min':'c-layout-content-max']"> <div style="height:2000px">this is page content</div> </div> </div></template>JS局部则在mounted的时候调用resize函数并绑定页面的缩放事件
data() { return { isOpen: true, } }, mounted() { console.log(window.innerWidth) this.resize() window.addEventListener('resize', this.resize, true) }, methods: { setWidth() { this.isOpen = !this.isOpen }, resize() { let w_width = window.innerWidth if(w_width<= 1430) { this.isOpen = false }else { this.isOpen = true } }, },