У меня есть компонент vue, который называется page.vue. И у меня есть дочерний компонент vue, который называется card.vue, как показано ниже.
Я не могу заставить его работать с вводом данных в компонент карты (дочерний).
Я попытался ввести данные внутрь и в функции данных для компонента страницы.
Страница.vue
<template>
<div class = "container">
<card></card>
</div>
</template>
<script>
import Card from "../Card.vue"
export default {
name: 'skills',
components: {
"card": Card
},
data: function() {
return {
message: "Skills"
}
}
}
</script>
Card.vue
<template>
<div class = "container drop-shadow">
</div>
</template>
<script>
export default {
name: 'card',
data: function() {
return {
data: "",
}
}
}
</script>
Я хочу, чтобы эту карту можно было повторно использовать из других компонентов, кроме Page.vue. Необходимо вводить данные в карту в зависимости от того, где они отображаются.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Есть два способа передачи данных вниз.
Первый — с использованием реквизит.
МЕТОД 1:
<template>
<div class = "container">
<card :message = "message"></card>
</div>
</template>
<script>
import Card from "../Card.vue"
export default {
name: 'skills',
components: {
"card": Card
},
data: function() {
return {
message: "Skills"
}
}
}
</script>
Это сделает данные доступными в Card.vue.
<template>
<div class = "container drop-shadow">{{ message }}
</div>
</template>
<script>
export default {
name: 'card',
props: ['message'],
data: function() {
return {
data: "",
}
}
}
</script>
МЕТОД 2: Вы также можете поместить слот в Card.vue, что позволит вам поместить контент между тегами элемента на родительском элементе, например. Страница.vue
<template>
<div class = "container">
<card>{{ message }}</card>
</div>
</template>
<script>
import Card from "../Card.vue"
export default {
name: 'skills',
components: {
"card": Card
},
data: function() {
return {
message: "Skills"
}
}
}
</script>
Card.vue
<template>
<div class = "container drop-shadow">
<slot />
</div>
</template>
<script>
export default {
name: 'card',
data: function() {
return {
data: "",
}
}
}
</script>
Вы должны быть более конкретными
Я не уверен, что вы подразумеваете под передачей объекта. Вы имеете в виду настоящую javascript Object? Почему вы передаете объект?
Спасибо. Я заставил его работать. Но я не могу заставить его работать с передачей объекта. Что мне не хватает?