此时你设置后会发现屏幕的高度出现滚动条
那是因为body有8个外边距 设置margin:0就可以解决
watch可以区监听data中的数据,只要data中的数据发生变化 就可以执行watch中的函数了
watch也可以区调用methods中的方法
<style> #box{ background: #000; } body{ margin: 0; } </style>
<body> div id="app"> ="box" ref="fullheight"> </div> > >
<script src="https://unpkg.com/vue/dist/vue.js"></script> <script> new Vue({ el: '#app',data() { return { clientHeight:""this.clientHeight=`${document.documentElement.clientHeight}`;//获取屏幕可视化的高度; console.log(this.clientHeight);//798px window.onresize = function temp() { 屏幕大小发生改变触发 window.onresize this.clientHeight = `${document.documentElement.clientHeight}`; console.log("sf",this.clientHeight) }; },watch: { 如果 `clientHeight` 它是data中的值发生改变,这个函数就会运行 clientHeight: function () { this.changeFixed(this.clientHeight);去调用methods中的函数 } },methods:{ changeFixed(clientHeight){ 动态修改样式 console.log(clientHeight); this.$refs.fullheight.style.height = clientHeight+'px'; },} }) </script>