v-for 指令
JS部分:
var app = new Vue({
el: "#app",
data() {
return {
list: [1, 2, 3, 4],
objList: [
{ id: 1, name: 'Tome' },
{ id: 2, name: 'Jack' },
{ id: 3, name: 'France' },
],
obj: { id: 1, name: 'checky', gender: 'mele', age: 18 }
}
}
});
一、循环数组
<ul>
<li v-for="item in list">
{{item}}
</li>
</ul>
结果:

二、循环对象数组
<ul>
<li v-for="(obj,i) in objList">
{{obj.id}} - {{obj.name}} - {{i}}
</li>
</ul>
结果:

三、遍历对象
<!-- 在便利对象的键值对时,有val、key、index -->
<p v-for="(value,key,index) in obj">
{{index}}:{{key}} : {{value}}
</p>
结果:

四、迭代数字
<!-- 用v-for迭代数字,count从1开始 -->
<p v-for="count in 10"> 这是第几次{{count}}此循环</p>
结果:

五、v-for中key使用,key可以保证数据唯一标识不被改变
JS部分:
var app = new Vue({
el: "#app",
data() {
return {
id: "",
name: "",
users: [
{ id: 1, name: '张三' },
{ id: 2, name: '李四' },
{ id: 3, name: '王五' },
]
}
},
methods: {
add() {
this.users.push({ id: this.id, name: this.name });
}
}
});
HTML部分:
<div>id:<input type="text" v-model="id" /> name: <input type="text" v-model="name"> <button type="button"
@click="add">添加</button></div>
<p v-for="user in users">
<label><input type="radio" />id:{{user.id}} name:{{user.name}}</label>
</p>
页面:

现在如果新添加一条数据id=4,name=XXX,显示结果如下:

每个用户的id没有改变,当我们改变一下add()的方法,如下:
add() {
this.users.unshift({ id: this.id, name: this.name }); # 改变了列表添加的方式,在头部新加一个
}
现在选中李四的勾选框

同样新增一条数据id=4,name=XXX的数据。

由图发现,勾选的李四,新加一条数据后,变成勾选张三了,这时候就需要用到key了,在循环的p标签上加个key属性,然后指定:key=user.id:
<p v-for="user in users" :key="user.id">
<label><input type="radio"/>id:{{user.id}} name:{{user.name}}</label>
</p>
同样选中李四,再添加一条数据,结果如下,被勾选中的还是李四:

这样就将数据和p标签唯一绑定了。
v-for 指令的更多相关文章
- v:bind指令对于传boolean值的注意之处
1,
- linux查看文件相关指令
以下内容整理自以下两篇文章: http://www.cnblogs.com/xilifeng/archive/2012/10/13/2722596.html Linux 查看文件内容的命令 http: ...
- linux文件管理指令
总述 所有指令都可以使用--help来查看说明 例如:cat --help -x 表示参数 1.cat:用于打印文件(cat -x filename) 参数: -n:由1开始对每行进行编号 -b:由1 ...
- git 指令笔记
狂躁,太狂躁!!赶上过年,赶上自己的懒癌,12月底就学完的教程直到今天才整理笔记,中途沉默在游戏中..... 只给出Windows下git指令操作,推荐大家去廖雪峰前辈那里学习(百度搜索:廖雪峰的官方 ...
- Linux里面的压缩和解压类指令
gzip/gunzip 指令 ( .gz 不能压缩目录) gzip 用于压缩文件, gunzip 用于解压的 . gzip gzip命令用来压缩文件.gzip是个使用广泛的压缩程序,文件经它压缩过后 ...
- Linux服务器安全配置
众所周知,网络安全是一个非常重要的课题,而服务器是网络安全中最关键的环节.Linux被认为是一个比较安全的Internet服务器,作为一种开放源代码操作系统,一旦Linux系统中发现有安全漏洞,Int ...
- orpsocv2 从ROM(bootrom)启动分析--以atlys板子的启动为例子
1 复位后的启动地址 1) 复位后,启动地址在or1200_defines.v最后宏定义,atlys板子的目录:orpsocv2\boards\xilinx\atlys\rtl\verilog\inc ...
- Linux下的压缩和解压缩命令——zip/unzip
zip命令 zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名 的压缩文件. 选项: -A 调整可执行的自动解压缩文件. -b<工作目录> ...
- linux commands
abrt-cli --since ;查看abrt捕捉的异常 alias ;别名,alias rm='rm -i':使用“ \rm ” 使用原命令 alsamixer ;图形音量调节,q 增加左声道, ...
- Linux权限管理.md
Linux 文件的权限 Linux文件权限简介 Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.具体情况如下: # ...
随机推荐
- Genymotion集成到Eclipse
在Eclipse中使用Genymotion Google的ADT中自带的模拟器速度太慢,可以使用Genymotion代替.关于Genymotion的安装方法,可以直接访问官网,需要注册账号,因为创建模 ...
- [Zedboard Linux系统移植]-从MACHINE_START開始
改动自:http://www.cnblogs.com/lknlfy/archive/2012/05/06/2486479.html 内核的启动过程? 3)内核的启动过程? arch/arm/kerne ...
- Python 学习笔记(十四)Python类(二)
创建简单的类 新式类和经典类(旧式类) Python 2.x中默认都是经典类,只有显式继承了object才是新式类 Python 3.x中默认都是新式类,经典类被移除,不必显式的继承object 新式 ...
- http协议的总结
HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统,其主要特点概括如下: 1.支持客户/服务器模式. 2.简单快速:客户向服务器请求服务时,只需传送请求方法和 ...
- C++程序设计入门(上) 函数学习
局部变量和全局变量的访问: 全局变量的作用域时全局,局部变量的作用域是局部,若全局和局部的变量名相同的话,局部变量的改变不会引起全局变量的改变#include<iostream> int ...
- jdk 配置
JDK (绿色版) 此次安装的 JDK 版本为 1.8.0_77 步骤一: 拷贝 JDK(350M左右)到电脑 步骤二: 配置环境变量 JAVA_HOME , PATH , CLA ...
- Ambari搭建hadoop错误记录
1.ResourceManager启动失败 错误如下 2019-03-24 19:57:00,607 - Error while executing command 'start': Tracebac ...
- 【转】ASP.NET 防止同一用户同时登陆
要防止同一用户同时登陆,首页应该记录在线用户的信息(这里与用户名为例),然后判断正在登陆的用户里面是否已存在.在这里使用一个cache存放已经登陆的用户名,但是还有一个问题就是要知道用户是什么时候离开 ...
- Java设计模式(24)——行为模式之解释器模式(Interpreter)
一.概述 概念 自己定义文法,实际中还是很少出现的,作了解 给出一篇网友的参考博文:http://blog.csdn.net/ylchou/article/details/7594135
- 20155202 2016-2017-2 《Java程序设计》第4周学习总结
20155202 2016-2017-2 <Java程序设计>第4周学习总结 教材学习内容总结 继承与多态: 子类和父类有(is a)关系,Role role1 =new Swordsma ...