случайный атрибут" data-v -* " в Vue.компоненты js

экспериментируя с Vue.js первое, что я заметил, так как каждый экземпляр компонента, который я определяю как компонент одного файла и включить как пользовательский элемент получает случайный атрибут хэша, такой как data-v-58fd7087="". В частности:

  • каждый элемент DOM каждого экземпляра данного компонента получает один и тот же хэш
  • хэш генерируется независимо от маршрутизатора
  • хэш стабилен между вызовами
  • в хэш стабилен между изменениями имен компонента
  • хэш не сохраняется / генерируется на диске
  • таким образом, хэш-код генерируется динамически

может ли он быть сгенерирован карма или Webpack это часть моей настройки Vue? Если нет, то эти наблюдения меня удивляют. Это приводит к двум вопросам:

  • когда и как генерируется этот хэш (атрибут)?
  • почему хэш (атрибут) сгенерирован?

2 ответов


что-то подобное происходит при использовании область CSS С загрузчиком Vue.

Я использую scoped css, и у меня есть атрибуты, такие как data-v-4646bc3c, поэтому я полагаю, что это все.

Если вы не хотите эту функцию, попробуйте удалить scoped атрибут из ваших компонентов одного файла.

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

если вы используете vueify и Вам интересно, почему вы получаете изменения в своей сборке, ничего не изменив, убедитесь, что вы используете vueify с process.env.NODE_ENV значение 'production'. В противном случае он генерирует код горячей перезагрузки, который имеет new data-v-* хэши на каждой сборки.