Vue的列表渲染指令

列表渲染指令 v-for

当需要将一个数组便利或者枚举一个对象循环显示时,就会用到列表渲染指令  v-for。

它的表达式需要结合in 来使用,类似于item in items的形式。

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Vue内置指令</title>
 </head>
 <body>
  <div id="app">
  <ul>
   <li v-for="book in books">{{book.name}}</li>
  </ul>
 </div>

<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src=" href='https://cdn.jsdelivr.net/npm/vue/dist/vue.js"> href='https://cdn.jsdelivr.net/npm/vue/dist/vue.js">https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> 
<script>
 var app= new Vue({
  el:'#app',
  data:{
   books:[
    {name:'《书本1》'},
    {name:'《书本2》'},
    {name:'《书本3》'}
   ]
  }
 })
</script>
 </body>
</html>


在表达式中,books是数据,book是当前元素的别名,循环出的每个<li>元素内的元素都可以访问到

对应的当前数据book

列表渲染也支持用of 代替in 作为分隔符

   <li v-for="book of books">{{book.name}}</li>

v-for的表达式支持一个可选参数作为当前项的索引:


 

<div id="app">
  <ul>
   <li v-for="(book,index) in books">{{index}}-{{book.name}}</li>
  </ul>
 </div>

<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src=" href='https://cdn.jsdelivr.net/npm/vue/dist/vue.js">https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> 
<script>
 var app= new Vue({
  el:'#app',
  data:{
   books:[
    {name:'《书本1》'},
    {name:'《书本2》'},
    {name:'《书本3》'}
   ]
  }
 })
</script>

除了数组外,对象的属性也是可以遍历的:

<div id="app1">
  <ul>
   <span v-for="value in user">{{value}}<br></span>
  </ul>
 </div>

var app1= new Vue({
  el:'#app1',
  data:{
   user:{
    name:'badao',
    age:22,
    tel:11111111
   }
  }

v-for还可以迭代整数:

<div id="app3">
  <span v-for="n in 10">{{n}}</span>
 </div>

var app3 = new Vue({
  el:'#app3'
 })

猜你喜欢

转载自blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/82729638