“随机”;数据-v-*”;Vue.js组件中的属性

“随机”;数据-v-*”;Vue.js组件中的属性,vue.js,vuejs2,vue-component,Vue.js,Vuejs2,Vue Component,我注意到的第一件事是,我定义为自定义元素并包含为自定义元素的组件的每个实例如何获得一个随机散列属性,如data-v-58fd7087=“”。 具体而言: 给定组件的每个实例的每个DOM元素都获得相同的哈希值 散列是独立于路由器生成的 在调用之间,散列是稳定的 哈希在组件名称更改之间是稳定的 哈希未存储/生成在磁盘上 因此,哈希是动态生成的 它是由Vue设置生成的还是属于Vue设置的一部分? 如果不是,这些对我来说是一些令人惊讶的观察。它引出了两个问题: 何时以及如何生成此哈希(属性) 为什

我注意到的第一件事是,我定义为自定义元素并包含为自定义元素的组件的每个实例如何获得一个随机散列属性,如
data-v-58fd7087=“”
。 具体而言:

  • 给定组件的每个实例的每个DOM元素都获得相同的哈希值
  • 散列是独立于路由器生成的
  • 在调用之间,散列是稳定的
  • 哈希在组件名称更改之间是稳定的
  • 哈希未存储/生成在磁盘上
  • 因此,哈希是动态生成的
它是由Vue设置生成的还是属于Vue设置的一部分? 如果不是,这些对我来说是一些令人惊讶的观察。它引出了两个问题:

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

与Vue Loader一起使用时,也会出现类似情况

我使用有范围的css,并且我有类似于
data-v-4646bc3c
的属性,所以我想就是这样

如果不需要此功能,请尝试从单个文件组件中删除
作用域
属性

<style scoped>
/* local styles */
</style>

/*地方风格*/

如果您使用的是
vueify
,并且您想知道为什么在未更改任何内容的情况下在构建中进行更改,请确保运行vueify时将
进程.env.NODE\u env
设置为
'production'
。否则,它会生成热重新加载代码,在每个构建上都有新的
data-v-*
散列。

你说得对!因此,实际上
data-v-*
属性来自vue CSS加载程序,当且仅当使用
scoped
CSS时。它们被用作应用CSS的选择器。很好,谢谢!有没有一种方法可以在仍然使用作用域CSS的情况下更改此默认行为?因为它最终会加载和解析更大的CSS文件@ekqnp:不,这就是作用域的工作原理,它们需要哈希作为选择器。你有没有办法删除data-v-*