v-for指令,看名字想必大家也能猜到其作用,没错,就是用来迭代、遍历的。

1、简单数组的遍历

<body>
<divi id="app">
<span v-for="item in list">{{item}}&emsp;</span>
</div> <script type="text/javascript">
var vm = new Vue({
el:"#app",
data:{
list:['one','two','three','four','five']
},
methods:{}
})
</script>
</body>

data里定义了list字符串数组,在页面中使用v-for指令对list进行遍历,"item"是当前正在遍历的元素对象,“in”是固定语法,“list”是被遍历的数组。用插值表达式来展示当前遍历的对象。

有时除了遍历数据外,我们还需要当前遍历的序号:

 <divi id="app">
<span v-for="(item,i) in list">序号为:{{i}},元素为:{{item}}<br></span>
</div>

(Item,i)其中i为序号,当然i和item是临时变量可以任意定义。运行结果:

2、对象数组的遍历

<body>
<divi id="app">
<span v-for="(item,i) in list">序号:{{i}},科目为:{{item.course}},分数为:{{item.score}}<br></span>
</div> <script type="text/javascript">
var vm = new Vue({
el:"#app",
data:{
list:[
{'course':'语文', 'score':89},
{'course':'数学', 'score':80},
{'course':'英语', 'score':90}
]
},
methods:{}
})
</script>
</body>

通过"item.score"的方法,来获取对象的属性值。运行结果如下:

3、遍历对象

<body>
<divi id="app">
<span v-for="(value,key) in mark">属性名:{{key}},属性值:{{value}}<br></span>
</div> <script type="text/javascript">
var vm = new Vue({
el:"#app",
data:{
mark:{
'语文':90,
'数学':95,
'英语':89
}
},
methods:{}
})
</script>
</body>

这里定义了一个mark对象,该对象有三个属性,遍历对象的时候固定写法为:(XX,YY),其中YY为对象的key,XX为对象的值。

当然也可以写成:(XX,YY,i),其中i为索引值。

4、遍历数字

<divi id="app">
<span v-for="count in 5">当前数字为:{{count}}<br></span>
</div>

这里in后面直接写的是具体的数字。运行结果:

总结:v-for进行遍历的时候,其可以遍历数组、对象数组、对象、数字。

每天进步一点点!

Vue学习之路第十三篇:v-for指令的更多相关文章

  1. Vue学习之路第四篇:v-html指令

    上一篇我们讲解了两种方式,把Vue对象的数据展示在页面上: 1.插值表达式 2.v-text指令 但是如果我们展示的数据包含元素标签或者样式,我们想展示标签或样式所定义的属性作用,该怎么进行渲染,比如 ...

  2. Vue学习之路第三篇:插值表达式和v-text的区别

    上一篇说到插值表达式有一个问题: 页面频繁刷新或者网速加载很慢的时候,页面会先出现“{{ msg }}”,再一闪而过出现真实的数据. 对于这个问题Vue给予了解决办法,看具体事例. <div i ...

  3. vue学习指南:第十三篇(详细) - Vue的 路由 第三篇 ( 路由的缓存 )

    路由的缓存 路由缓存是 Vue组件优化的一个重要方法 为什么实现路由缓存? 为了 组件间 相互切换不会重复加载数据,影响用户体验,我们通常需要将组件的数组实现缓存,当我们点过来,在点的时候会再次发送 ...

  4. Vue学习之路第二十篇:Vue生命周期函数-组件创建期间的4个钩子函数

    1.每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听.编译模板.将实例挂载到 DOM 并在数据变化时更新 DOM 等.同时在这个过程中也会运行一些叫做生命周期钩子的函数 ...

  5. Vue学习之路第十一篇:为页面元素设置class类样式

    1.class为页面元素的一个属性,通过前面第五篇的内容可知,操作属性需要使用到v-bind指定(也可简写为 :). 2.先来看一个简单的页面样式内容: <!DOCTYPE html> & ...

  6. Vue学习之路第十篇:简单计算器的实现

    前面九篇讲解了vue的一些基础知识,正所谓:学以致用,今天我们将用前九篇的基础知识,来模拟实现计算器的简单功能,项目价值不高,纯粹是为了加深掌握所学知识. 学前准备: 需要掌握JavaScript的e ...

  7. Vue学习之路第八篇:事件修饰符

    学习准备: ①.顾名思义,“事件修饰符”那么肯定是用来修饰事件,既然和事件有关系,那么肯定和“v-on”指令(也可简写为:@)有关系了. ②.事件修饰符有以下几类: .stop:阻止冒泡 .preve ...

  8. Vue学习之路第七篇:跑马灯项目实现

    前面六篇讲解了Vue的一些基础知识,正所谓:学以致用,今天我们将用前六篇的基础知识,来实现类似跑马灯的项目. 学前准备: 需要掌握定时器的两个函数:setInterval和clearInterval以 ...

  9. Vue学习之路第五篇:v-bind

    v-bind:是Vue提供的用于绑定html属性的指令. html中常见的属性有:id.class.src.title.style等,他们都是以 名称/值对 的形式出现,如:id="firs ...

随机推荐

  1. 【ACM】hdu_1106_排序_201308071928

    排序Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submissio ...

  2. BA-WG-调试经验

    Modbus网关 目前常用的产品为BAM360,仅可以用做modbus RTU主站,可以从从站扫描数据,接入的数据必须为标准的MODBUS RTU从站 串口数据 使用sc-431硬件将串口数据转换为m ...

  3. Java循环遍历中直接修改遍历对象

    Java 循环遍历中直接修改遍历对象如下,会报异常: for (ShopBaseInfo sp: sourceList) { if(sp.getId()==5){ sourceList.remove( ...

  4. binlog

    binlog基本定义:二进制日志,也成为二进制日志,记录对数据发生或潜在发生更改的SQL语句,并以二进制的形式保存在磁盘中: 作用:MySQL的作用类似于Oracle的归档日志,可以用来查看数据库的变 ...

  5. 这篇文章关于两阶段提交和Paxos讲的很好

    http://blog.chinaunix.net/uid-16723279-id-3803058.html <两阶段提交协议与paxos投票算法> 点评:2PC绝对是CP的死党,是分布式 ...

  6. POJ 1625

    什么鬼,真的是有负数的吗?我在字符加上了128才过了.dp[i][j],经过i步到达j状态的路径数.转移很容易了,建个trie图就可以,由前一步可连通到和更新即可. 另外,要用到大数和AC自动机DP ...

  7. Docker入门介绍

    Docker是一种虚拟化技术       刚開始看Docker,感觉非常抽象"An open platform for distributed applications for develo ...

  8. csu 1030: 素数槽

     素数槽 Description 处于相邻的两个素数p和p + n之间的n - 1个连续的合数所组成的序列我们将其称为长度为n的素数槽.比如,‹24, 25, 26, 27, 28›是处于素数23 ...

  9. Android-68-Tomcat各种启动错误的解决的方法,如:Exception in thread &quot;Thread-6&quot; NoClassDefFoundError,Document base E:\

     上午遇到一个棘手的事儿,导入一个project,结果把原有的Tomcatserver给导坏了.各种红的.黑的.蓝的错误满天飞啊,刚弄完一个项目,怕被毁了.我那个揪心呀! 还好.在走头无路的情况下 ...

  10. Spark部分:几个重要的端口汇总

    50070:HDFSwebUI的端口号 8485:journalnode默认的端口号 9000:非高可用访问数rpc端口 8020:高可用访问数据rpc 8088:yarn的webUI的端口号 808 ...