Vue-列表渲染

列表渲染

列表功能是个相当重要的功能,经常会用到,一定要弄懂。

主要指令
  • v-for
  • :key(好像不用这个属性值也行,直接用“(item,aaa) in items”,这个“aaa”就能当做索引……)
    采用:item in items的形式访问,item表示当前项,items表示数据源。
    :key是一个标签的属性,key的值作为Vue遍历出来的标签的区分符。例如:如果遍历的是数组,而且key的值是index,那么遍历出来的每个标签的标记就是各个标签的index值。(好像没说清楚,可以再看看文档,在“列表渲染”这个条目下面。)
说明:

下面代码的“li”标签中item后面加了一个“aaa”的值,这个“aaa”表示遍历过程中的下标值,直接取这个“aaa”的值就可以得到遍历出来的标签的下标。
可能遍历对象的时候会用到:key值吧,因为对象的属性没有下标,只有属性名称,所以可以用item.id的形式获得唯一标识。

<!doctype html>
<html lang="zh-ch">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0,
          maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>条件渲染</title>
    <script src="../js/vue.js"></script>
</head>
<body>
<div id="demo">
    <h2>遍历数组</h2>
    <ul>
        <li v-for="(item,aaa) in items" :key="aaa">
            <p><b>{{item.msg}}</b><button @click="deleteItem(aaa)">攻击</button></p>
        </li>
    </ul>
</div>

<script type="text/javascript">
    new Vue({
        el:'#demo',
        data:{
            items:[
                {msg:'空军一号'},
                {msg:'空军二号'}
            ]
        },
        methods:{
            deleteItem(index){
                this.items.splice(index,1,{msg:'已被击毁'});
            }
        }
    });
</script>
</body>
</html>
注意:
  • in 可以用 of 来代替,即“item of items”。
  • v-for块可以直接访问父作用域的属性,如下,parentMessage是与items平级的属性,在v-for块中可以直接用双括号访问。
<ul id="example-2">
  <li v-for="(item, index) in items">
    {{ parentMessage }} - {{ index }} - {{ item.message }}
  </li>
</ul>
var example2 = new Vue({
  el: '#example-2',
  data: {
    parentMessage: 'Parent',
    items: [
      { message: 'Foo' },
      { message: 'Bar' }
    ]
  }
})

列表筛选/排序

等我用到了再写……
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值