v-for 数组响应式

v-for 数组响应式方法

1.push方法 从最后开始添加 可以添加多个
2.pop方法 删除最后一位
3.shitf方法 删除第一位
4.unshift方法 从头添加 可以添加多个
5.splice:删除元素/插入元素/替换元素
*6. sort 排序
7.reverse 反转
代码实例
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
      <ul>
          <li v-for="item in letters">{{item}}</li>
          <button @click="btnClick">最后添加</button>
          <button @click="btn2Click">删除最后一位</button>
          <button @click="btn3Click">删除第一位</button>
          <button @click="btn4Click">从头添加</button>
          <button @click="btn5Click">splice</button>
          <button @click="btn6Click">排序</button>
          <button @click="btn7Click">反转</button>
      </ul>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script>
    <script>
        const app = new Vue({
            el:'#app',
            data:{
                letters :['A','B','C','D','E']
            },
            methods: {
                //1.push方法 从最后开始添加  可以添加多个
                btnClick(){
                    this.letters.push('F');//  this.letters.push('F','G','I');
                },
                //2.pop方法 删除最后一位
                btn2Click(){
                    this.letters.pop();
                },
                //3.shitf方法 删除第一位
                btn3Click(){
                    this.letters.shift();
                },
                //4.unshift方法 从头添加 可以添加多个
                btn4Click(){
                    this.letters.unshift('A');
                },
                //5.splice:删除元素/插入元素/替换元素
                /* 删除元素:第二个参数传入你要删除几个元素 */
                 /* 替换元素 :第二个参数标识我们要替换几个元素,后面是用来替换的元素 */
                 /* 插入元素:第二个参数传入0 后面跟上要插入的元素 */
                btn5Click(){
                   /*  (1)
                   const start = 2;
                    this.letters.splice(start,this.letters.length-start); */
                   /*  this.letters.splice(1,2) */

                   /* 替换元素 */
                   /* this.letters.splice(1,3,'1','2','3') */
                   /* 插入元素 */
                   this.letters.splice(1,0,'a','b','c')
                },
                //6. sort 排序
                btn6Click(){
                    this.letters.sort();
                },
                //7.reverse  反转
                btn7Click(){
                    this.letters.reverse();
                },
            },
        })         
    
    </script>
</body>
</html>

这里要注意通过索引值修改数组中的元素不是响应式的

通过这个方式,VUE是不会监听的不会给你渲染DOM

示例

this.letters[0]= 'aaaa'

如果有这样需求的话我们可以通过splice方法

示例

this.letters[0](0,1,'aaaaaa')

或者通过vue.set进行修改

set(要修改的对象,索引值,修改后的值)

Vue.set(this.letters,0,‘aaaa’);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值