По какой-то причине я не могу заставить цикл работать в одном файле .vue. Возникает следующая ошибка:
«Значение» свойства или метода не определено в экземпляре, но на него ссылаются во время рендеринга. Убедитесь, что это свойство является реактивным либо в параметре данных, либо для компонентов на основе классов, инициализируя свойство.
(Получение той же ошибки для значения ключа)
.vue файл:
<template>
<div class = "grid-view container mx-auto flex items-center py-4">
<div v-bind:for = "(value, key) in testdata">
{{ key }}: {{ value }}
</div>
</div>
</template>
<script>
export default {
props: [
'testdata'
]
}
</script>
HTML:
<test :testdata = "{'name':'sku','name':'test'}"></test>
Надеюсь, кто-то может помочь!





Измените v-bind:for на v-for
<template>
<div class = "grid-view container mx-auto flex items-center py-4">
<div v-for = "(value, key) in testdata">
{{ key }}: {{ value }}
</div>
</div>
</template>
<script>
export default {
props: [
'testdata'
]
}
</script>
Заменить v-bind:for= на v-for=
<template>
<div class = "grid-view container mx-auto flex items-center py-4">
<div v-for = "(value, index) in testData" :key = "index">
{{ value }}
</div>
</div>
</template>
<script>
export default {
props: [
'testData'
]
}
</script>
Ваши тестовые данные неверны, поскольку вы используете объект один, который содержит два похожих ключа name:
<test :test-data = "{'name':'sku','name':'test'}"></test>
.. поэтому поместите каждый объект в массив:
<test :test-data = "[{ name: "sku" }, { name: "test" }]"></test>
Примечание для соглашений о коде:
При именовании реквизита в HTML используйте регистр kebap:
:test-data вместо :testdata
При именовании реквизита в JS используйте верблюжий регистр:
testData вместо testdata
Потрясающее спасибо!