@LionG

Как получить атрибуты из outerHTML в качестве props при создании экземпляра Vue?

По идее должно работать так:

<script src="https://unpkg.com/vue/dist/vue.js"></script>
<div id="app" :sometext="'hello world'"></div>
<script type="text/javascript">
new Vue({
	props: ['sometext'],
	mounted: function () {
		console.log(this.sometext)
	}
}).$mount('#app')
</script>


Однако в консоль выбивает undefined.

Есть вариант вручную подгружать данные из атрибутов, но по моему это какой то костыль и должно работать иначе.
beforeMount: function () {
		this.sometext = this.$el.attributes.sometext.value
	},
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimovich85
@dimovich85
https://u-academy.net/
Вы на корневой узел в html пытаетесь директивы vue повесить, поэтому не получается. Можете сделать у него data-sometext="blabla", и потом через $el попытаться прочитать атрибуты этого узла DOM. Только вся эта затея выглядит как костыль, Вам точно это нужно именно корневому элементу данные слать? Внутри компонентов ниже по дереву от корневого компонента пропсы будут работать без проблем.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы