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 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.具体情况如下: # ...
随机推荐
- [LuoguP1438]无聊的数列(差分+线段树/树状数组)
\(Link\) \(\color{red}{\mathcal{Description}}\) 给你一个数列,要求支持单点查询\(and\)区间加等差数列. \(\color{red}{\mathca ...
- 结构体 内存对齐 keil & STM32
直接 上图 不废话: 第二张图: 把16位 类型的数据 换成 数组 ,这样 达到 节约内存和 方便处理 缓冲区数据
- useradd添加用户
sudo useradd -m -s /bin/bash $user sudo passwd $user linux useradd/userdel 命令 转自:http://hi.baidu.com ...
- Strategy(策略)模式
1.概述 在软件开发中也常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能.如查找.排序等,一种常用的方法是硬编码(Hard Cod ...
- File、Paths和Files类的使用详解
Paths:通过get()方法返回一个Path对象,Path用于表示文件路径和文件. Files:提供了大量处理文件的方法,例如文件复制.读取.写入,获取文件属性.快捷遍历文件目录等..... Fil ...
- 双硬盘双系统win10+manjaro-kde搭建
电脑sdd+hdd双硬盘,默认win10装在了sdd分区,uefi+gpt引导.现在想要在hdd中划分出一个分区安装manjaro,并在开机多重引导. 1. 制作安装盘 先去下载最新的镜像,最好在国内 ...
- c# 在 websocket 中访问 session
今天的项目需要用到websocket,但是中websocket中无法直接访问session,一访问session就出错,断开连接. 找了老半天百度也没有相关c#的介绍和方法,没办法,找不到现成的代码, ...
- Myeclipse报错:The word is not correctly spelled
在eclipse下的Window--Preference输入spell,然后把第一个复选框“Enable spell checking"给去掉就可以了.
- day 34线程的其他方法,线程池
线程的其他方法: from threading import Thread,current_thread: currrent_thread().getName() 获取线程的名称 current_ ...
- ls 的详细使用
ls是list的缩写,list--清单 ls 是显示文件 如查看root下的所有信息 如果要以列表的形式显示文件详细信息可使用ls -all或ls -al(包括以“.“开头的隐藏文件) 如果你想查看某 ...