【发布时间】:2020-03-13 07:59:24
【问题描述】:
我正在尝试使用 v-for 呈现名称列表。我有一个名称数组,我能够创建模板并在 div 中呈现名称。我想要做的是,如果我在我的数据中添加任何新对象,我如何在新模板中渲染该部分数据。因此,例如,名称“michael”之前的所有内容都呈现在一个 div 中,但是如果我向数据添加一个新名称,则从那时起,名称应该呈现在另一个模板中。 这是CodePen 显示我的问题
new Vue({
el: '#app',
data() {
return {
myArray: [{
name: 'Sam',
value: 'sam'
},
{
name: 'Gary',
value: 'gary'
},
{
name: 'Smith',
value: 'smith'
},
{
name: 'Sunny',
value: 'sunny'
},
{
name: 'Michael',
value: 'michael'
}
]
}
}
})
<link href="https://cdn.jsdelivr.net/npm/vuetify@1.5.14/dist/vuetify.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<v-app id="inspire" class="ml-4">
<template>
<div v-for="person in myArray" key="person.name">
{{person.name}}
</div>
</template>
<template>
//New names should be rendered here from the new values added to the data?
</template>
</v-app>
</div>
任何帮助将不胜感激。我希望我已经解释了我的需要。如果不告诉我。
【问题讨论】:
-
使用两个独立的数组?
-
很遗憾,我想保留一个。我试图让它变得有点动态。
-
为什么它们需要在同一个数组中?如果需要,您可以在以后轻松合并这两个数组。
-
为什么需要一个数组?如果您需要在某些时候将它们组合起来,您可以使用
Array.prototype.concat()。 -
好吧,我试图将其保留为一个数组,因为我很可能最终会从 API 调用中获取一个数组。
标签: javascript vue.js