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 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.具体情况如下: # ...
随机推荐
- CCF认证201803-1 跳一跳
import java.util.Scanner; public class Jump { public static void main(String[] args) { Scanner sc = ...
- Oracle 自定义实用函数
一.ctod 字符转为date, create or replace function ctod(str in varchar2) return date as begin return to_dat ...
- MVC——MVP——MVVM
MVC什么样? 从这个图中可以清楚的看到: View:视图层——这里是用户与之交互的界面. Model:模型层——这里面主要就是业务数据,并把数据提供给视图层 Controller:控制器——他的主要 ...
- python 输入一个字符,是小写转换为大写,大写转换为小写,其他字符原样输出
s = input('请输入一个字符:') if 'a' <= s <= 'z': print(chr(ord(s) - 32)) elif 'A' <= s <= 'Z': ...
- java核心技术-多线程之引导概念
前两篇文章分别讲了,Java线程相关基础概念以及线程的内存模型,本节作为后续章节的引导,个人认为对于学习后面的只是还是比较重要.好了,既然说了多线程,那么首先要弄清以下几个问题: 1. 什么是多线程? ...
- zookeeper无法启动"Unable to load database on disk
QuorumPeerMain,ResourceManager都没有起来 resourcemanager.log如下 2018-09-28 23:17:02,787 FATAL org.apache.h ...
- mitmproxy 在windows上的使用
mitmproxy 是一个中间件代理, 结合python使用 安装 pip install mitmproxy 在windows上没有mitmproxy 所以只要用mitmdump和mitmwdb ...
- ImageMagick命令执行学习笔记(常见于图片预览处)
实验版本: ImageMagick版本:6.9.2 push graphic-context viewbox 0 0 640 480 fill 'url(https://"|whoami&q ...
- pgsql 变量赋值方法
1.网上一般说的方法如下: :=,赋值,比如user_id := 20; select into 赋值,比如 SELECT INTO myrec * FROM emp WHERE empname = ...
- css3动画性能优化--针对移动端卡顿问题
一.使用css,jquery,canvas制作动画 1.Canvas 优点:性能好,强大,支持多数浏览器(除了IE6.IE7.IE8),画出来的图形可以直接保存为 .png 或者 .jpg的图形: 缺 ...