我是否应该在vue3中挂载body元素?



由于ve3应用程序的根挂载元素不再被替换,而是挂载点的innerHTML。

这使得安装body元素成为可能(就像许多人之前在vue2上尝试的那样)。

但是我是否应该将body挂载为根元素?

对此有什么赞成和反对,好或坏的想法吗?

我找不到问题的答案,我不是一个前端开发人员,没有任何经验。但是现在我用的是vue3,我想知道这样做是否会给我带来麻烦。

当发生更改时,我们会实时更新DOM。这意味着它会删除已经存在的HTML元素。

下面是一个Vue3应用程序。注意,当应用程序运行时,<div class="random"></div>不再位于DOM中。

let app = {
data() {
return {
message: 'Vue3!'
}
},
template: `
<h1>{{ message }}</h1>
<p>Vue3 works on the body</p>
`
}
// Mounting the app to the body element directly.
Vue.createApp(app).mount('body')
* { margin: 0; padding: 0; }
body { padding: 5px; color: #efefef; background: #440022; }
.random { padding: 5px; background: #006600; width: 200px; height: 30px; }
<html>
<body id="app">
<div class="random">What happens to existing HTML?</div>
<script src="https://cdn.jsdelivr.net/npm/vue@3.0.2/dist/vue.global.min.js"></script>
</body>
</html>

最新更新