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 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.具体情况如下: # ...
随机推荐
- 登录SQLServer报错:无法连接到DESKTOP-LDJHQGN
解决方法:下↓↓↓
- 开源Webshell利用工具——Altman
开源Webshell利用工具--Altman keepwn @ 工具 2014-06-04 共 6114 人围观,发现 43 个不明物体收藏该文 Altman,the webshell tool,自己 ...
- 初始化mysql数据库 /usr/bin/mysql_install_db执行时报错
错误描述: FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install ...
- CentOS7安装及相关配置转载
1. 怎样在 CentOS 7.0 上安装和配置 VNC 服务器 https://linux.cn/article-5335-1.html 2. 安装完最小化 RHEL/CentOS 7 后需要做的 ...
- python3爬虫-爬取B站排行榜信息
import requests, re, time, os category_dic = { "all": "全站榜", "origin": ...
- hdu Exponentiation高精度实数乘幂(用了带小数的高精度模板)
#include <cstdio> #include <cstring> #include <iostream> #include <cmath> #i ...
- table(表格)中的标签和属性
1.表格由 <table> 标签来定义.行( <tr> ),单元格(<td> ) 字母 td 指表格数据(table data),即数据单元格的内容.数据单元格可以 ...
- C++11 initializer_list 和 Range-based for loop 学习理解
win10 + vs2017 源码如下: int main() { vector< int > numbers = { 1, 2, 3, 4, 5 }; for (auto num : n ...
- 【六】tf和cgi进行联合试验,完成日志服务器
[任务6]tf和cgi进行联合试验,完成日志服务器 [任务6]tf和cgi进行联合试验,完成日志服务器 改装gen-cpp目录下client.cpp文件 启动Nginx服务和gen-cpp目录下编译后 ...
- 树莓派 ubuntu16.04 安装SSH 配置SSH 开机自启SSH
入手个树莓派3B 装了 ubuntu 16.04 需要用到SSH 记录下 0.先获得树莓派IP 树莓派 使用网线连接路由器和树莓派 在路由器设置页面(一般是192.168.1.1具体看路由器的型号和设 ...