我有一个标题与@click
在我的身体。点击后,应该会显示一个Vue视图,但我得到的是错误:Cannot read properties of null (reading 'style')
从what I've read发生错误,因为document.getElementById("view")
返回null
,这可能有几个原因:
1.脚本在加载文档之前运行,因此找不到view
项。
1.没有view
项。
因为肯定有一个view
项目,我猜第一个原因是导致错误,但我不明白为什么也不知道如何修复它。
下面是我的App.vue文件中的代码:
<template>
<h1 @click="showInfo()">Header</h1>
<div class="view" style="display: none">
<AnotherView />
</div>
</template>
<style scoped>
.view {
}
</style>
<script>
import AnotherView from "./views/AnotherView.vue";
export default {
components: { AnotherView },
methods: {
showInfo() {
document.getElementById("view").style.display = "block";
},
},
};
</script>
2条答案
按热度按时间nnvyjq4y1#
您正在查询
getElementById()
中的一个类,正确的做法是通过用户@Sfili_81提到的ID来获取它。而且你也应该使用
$ref
来做这个处理。t30tvxxf2#
你可以使用条件类像下面的源使用
isShowInfo
布尔标志(如果你想,切换)和编辑样式源块类是开/关