vue 提供了 v-for 列表渲染指令,用来辅助开发者基于一个数组来循环渲染一个列表结构。v-for 指令需要使 用 item in items 形式的特殊语法,其中:
布局文件
- 姓名是:{{item.name}}
数据代码
data:{
list:[
{id:1,name:'张三'},
{id:2,name:'李四'},
{id:3,name:'王五'}
]
}
效果图
样式文件导入
布局代码
索引
ID
姓名
{{index}}
{{item.id}}
{{item.name}}
数据文件
data:{
list:[
{id:1,name:'张三'},
{id:2,name:'李四'},
{id:3,name:'王五'}
]
}
效果图
注意:v-for 指令中的 item 项和 index 索引都是形参,可以根据需要进行重命名。例如 (user, i) in userlist
添加key维护状态,尽量把id作为key的值,key要求为字符串或数字类型
{{index}}
{{item.id}}
{{item.name}}
key为对象类型会出错
布局代码
-
姓名:{{user.name}}
vue代码
const vm = new Vue({
el:'#app',
data:{
userlist:[
{id:1,name:'张三'},
{id:2,name:'李四'},
{id:3,name:'王五'}
],
// 输入的用户名
name: '',
// 下一个可用的 id 值
nextId: 3
},
methods:{
addNewUser(){
this.userlist.unshift({ id: this.nextId, name: this.name })
this.name = ''
this.nextId++
}
}
})
效果图(选中李四,添加后导致选中了张三)