【发布时间】:2020-03-16 07:10:09
【问题描述】:
也许我不明白这里的一些基本原理,但我已经阅读了文档并尝试了 2 个小时的不同方法,但我无法理解这一点。
所以,我有一个VueJS 应用程序,在数据中我有一个名为pattern 的数组。它看起来像:
[3, 4, 2, 6, 1, 8, 7, 9, 5]
在我看来,我正在遍历这个数组并为每个元素显示一个 div:
<div v-for="(ball, key) in pattern">@{{ ball }}</div>
简单吧?
现在,我将让这个 div 中的 HTML 更加复杂。但在我这样做之前,我想把它作为一个单独的组件(我可能会在网站的其他地方重用它,这样这种方法似乎很有意义)。
所以,在我的主 VueJS 应用程序中,我注册了一个新组件:
Vue.component('rack', require('./components/Rack.vue').default);
我创建了Rack.vue,内容如下:
<template>
<div>
<!-- show ball number here -->
</div>
</template>
<script>
export default {
mounted() {
}
}
</script>
我尝试在 for 循环内的 HTML 中添加一个 <rack></rack> 元素。
但现在我不知道如何将ball 数据传递给每个组件。我应该在页面上显示 9 个 rack 组件(pattern 数组的每个成员 1 个)。
我尝试将v-model 添加到<rack> 元素,但这会导致警告。我也尝试过类似:ball 属性的方法,但这引发了错误。我认为我应该以某种方式使用道具,但我对 Vue 1 和 Vue 2 在这方面的语法和差异感到困惑(我使用的是 2.6.10)。
【问题讨论】:
-
v-model仅用于输入元素。