多次渲染的组件
Component rendered multiple times
我用 v-if
语句分隔块,例如:
<div v-if="resp > 1023">
<PdfViewer />
</div>
<div v-else>
<PdfViewer />
</div>
我遇到的问题是在较小的屏幕宽度上查看它时 PdfViewer 被渲染一次。在宽度超过 1023px 时,它会被渲染两次,即使第二次提到它是在 if-else 块中。未显示其中的其他 html 个元素,但显示了组件。
Resp 是安装时的屏幕宽度:
mounted() {
this.resp = window.innerWidth;
console.log(this.resp);
}
我通过在创建的生命周期挂钩中分配值解决了这个问题,因此在 v-if 计算之前设置了值。
created() {
this.resp = window.innerWidth;
console.log(this.resp);
}
我用 v-if
语句分隔块,例如:
<div v-if="resp > 1023">
<PdfViewer />
</div>
<div v-else>
<PdfViewer />
</div>
我遇到的问题是在较小的屏幕宽度上查看它时 PdfViewer 被渲染一次。在宽度超过 1023px 时,它会被渲染两次,即使第二次提到它是在 if-else 块中。未显示其中的其他 html 个元素,但显示了组件。
Resp 是安装时的屏幕宽度:
mounted() {
this.resp = window.innerWidth;
console.log(this.resp);
}
我通过在创建的生命周期挂钩中分配值解决了这个问题,因此在 v-if 计算之前设置了值。
created() {
this.resp = window.innerWidth;
console.log(this.resp);
}