javascript - 遍历 VUE v-for 循环时出现对象错误
问题描述
对不起,我在这里缺乏知识。仍然掌握 Vue 的窍门。当我的长度是硬编码值时,我试图遍历一个循环并继续遇到问题。我不断得到:
'"[Vue warn]: Error in render: 'TypeError: Cannot read property 'title' of undefined'
JS:
new Vue({
el: '#app',
data: {
inputs: [],
items: [
{ title: 'Blue' },
{ title: 'Yellow' },
{ title: 'Red' },
{ title: 'Purple' }
]
}
})
标记:
<div id="app">
<ul>
<li v-for="n in 4">
<label>
<input
type="checkbox"
v-model="inputs"
:value="n"
:disabled="inputs.length > 0 && inputs.indexOf(n) === -1"
> Item {{ items[n].title }}
</label>
</li>
</ul>
</div>
解决方案
v-for="n in 4"
将意味着这n
是 1,2,3,4 - 而不是 0,1,2,3。所以它不会与数组的索引匹配。您需要使用index
循环计数器的,这是第二个参数,即
<li v-for="(n, i) in 4">
接着
{{ items[i].title }}
推荐阅读
- python - How to draw plus sign (+) into n*n numpy zero array
- python - Too many boolean expressions in if statement, how to fix that?
- eclipse - Spring Tool Suite 4.7.1 更新后的编辑器错误
- node.js - Mongoose schema validation not working while adding data
- javascript - Replacing every item at i with j value in an array with JavaScript
- python - Python - Selenium - 使用 WebDriverWait 在 html 中包含文本的 webscrape 表
- javascript - CSS transition with scroll
- php - php replace single and multiple back slash in text
- .net - .Net Framework 4.8 未显示在 Visual Studio 目标框架下拉列表中
- android - 用于创建手机身份验证凭据的验证ID在flutter中无效