gpt4 book ai didi

javascript - Vue.js 中的 DOM 模板到底是什么?

转载 作者:行者123 更新时间:2023-12-05 00:28:15 24 4
gpt4 key购买 nike

我找不到 Dom template 的确切定义在 Vue 文档中,但我看到它在几个地方都提到过,比如这里:https://v3.vuejs.org/style-guide/#self-closing-components-strongly-recommended
那么究竟什么是 DOM 模板呢?是 Vue 的概念还是更笼统的概念(例如某些规范中定义的 HTML 概念)?它们只是 <template> 之外的 HTML 元素吗? Vue 可以附加到的标签,或者它们也可以在 <template> 内标签?欢迎举例。

最佳答案

在 Vue 的上下文中, “DOM 模板” (在其余 Vue 文档中通常被视为“in-DOM 模板”)指的是在文档正文/标题中指定的组件标记,而不是字符串模板或 SFC 模板。
虽然 DOM 模板包括 <script type="text/html"><template>在文档中,这两个标签(连同字符串模板和 SFC 模板)不受已知 DOM template parsing caveats 的约束。因为它们是惰性的。
DOM 模板
DOM 内模板:

// index.html
<body>
<div id="app">
<ul>
<li v-for="i in 5">{{ i }}</li>
</ul>
</div>
</body>
demo
带有 <script type="text/html"> 的 DOM 内模板:
// index.html
<body>
<script type="text/html" id="my-comp-template">
<ul>
<li v-for="i in 5">{{ i }}</li>
</ul>
</script>

<div id="app">
<my-comp></my-comp>
</div>
</body>
demo
带有 <template> 的 DOM 内模板:
// index.html
<body>
<template id="my-comp-template">
<ul>
<li v-for="i in 5">{{ i }}</li>
</ul>
</template>

<div id="app">
<my-comp></my-comp>
</div>
</body>
demo
字符串模板
// MyComponent.js
Vue.component('my-comp', {
template: `<ul>
<li v-for="i in 5">{{ i }}</li>
</ul>`
})
demo
证监会模板
// MyComponent.vue
<template>
<ul>
<li v-for="i in 5">{{ i }}</li>
</ul>
</template>
demo

关于javascript - Vue.js 中的 DOM 模板到底是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68578348/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com