HTML 脚本标签中的 Petite-vue Init 属性

Jan*_*sen 2 html javascript vue.js vuejs3 petite-vue

我最近Vue.js在 Twitter 上看到了 Evan You 的这个片段,我不明白initscript 标签中的属性是做什么的。我在 MDN 或类似网站上找不到任何关于此的信息。

defer属性是明确的给我。

<script src="https://unpkg.com/petite-vue" defer init></script>

<!-- anywhere on the page -->
<div v-scope="{ count: 0 }">
  {{ count }}
  <button @click="count++">inc</button>
</div>
Run Code Online (Sandbox Code Playgroud)

Bou*_*him 6

它在用法部分的 repo 自述文件中进行了解释:

init属性告诉petite-vue自动查询和初始化v-scope页面上的所有元素。

根据此代码片段,它是一个自定义属性,如果存在脚本标记,则用于挂载应用程序:

let s
if ((s = document.currentScript) && s.hasAttribute('init')) {
  createApp().mount()
}
Run Code Online (Sandbox Code Playgroud)


小智 6

正如 @ Boussadjra Brahim提到的,init是一个自定义属性,用于将应用程序安装在petite-vue.

除了这一点,如果您不想自动初始化,请删除 init 属性并将脚本移至末尾<body>

<script src="https://unpkg.com/petite-vue"></script>
<script>
  PetiteVue.createApp().mount()
</script>
Run Code Online (Sandbox Code Playgroud)

或者,使用 ES 模块构建:

<script type="module">
  import { createApp } from 'https://unpkg.com/petite-vue?module'
  createApp().mount()
</script>
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅:文档