случайный атрибут" 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-*
хэши на каждой сборки.