Vue.js组件中的随机"data-v-*"属性

B M*_*B M 18 vue.js vue-component vuejs2

尝试使用Vue.js我注意到的第一件事是我定义为单个文件组件并包含为自定义元素的组件的每个实例如何获得随机哈希属性data-v-58fd7087="".特别:

  • 给定组件的每个实例的每个DOM元素都获得相同的哈希
  • 哈希是独立于路由器生成的
  • 散列在调用之间是稳定的
  • 散列在组件的名称更改之间是稳定的
  • 不在磁盘上存储/生成散列
  • 因此,哈希是动态生成的

可以由KarmaWebpack生成,这是我的Vue设置的一部分吗?如果没有,这些对我来说是一些令人惊讶的观察.它导致两个问题:

  • 何时以及如何生成此哈希(属性)?
  • 为什么生成哈希(属性)?

cdi*_*nam 28

使用带有Vue Loader的作用域CSS时会出现类似的情况.

我使用scoped css,我有类似的属性data-v-4646bc3c,所以我认为就是这样.

如果您不需要此功能,请尝试scoped从单个文件组件中删除该属性.

<style scoped>
/* local styles */
</style>
Run Code Online (Sandbox Code Playgroud)

  • 你是对的!所以实际上 `data-v-*` 属性来自 vue CSS 加载器,当且仅当使用 `scoped` CSS。它们被用作选择器来应用 CSS。不错,谢谢! (2认同)