国瑞个人博客
首页 > 未分类 > Vue中的增加和删除数据

Vue中的增加和删除数据

Vue中的增加和删除数据

 2017年07月22日 作者: 国瑞个人博客 280次浏览

Vue以数据作为驱动,所以我们不需要去关注页面是怎么样的,而只需要去维护数据接下来我们就来看一下在Vue中是如何实现数据的增加和减少的。

数据的增加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
methods: {
            add(ev) {
                console.log(ev);
                if (ev.keyCode === 13) {
                    this.list.push({
                        title: this.val
                    })
                };
                this.val = '';
            }
/* 方法二
add(ev){
if (ev.keyCode === 13) {
    this.list.push({
       title:ev.target.value
    })
};

*/

}

vue中没有实参有形参 那么那个参数就是event对象 event对象也可以通过传入$event去获取

数据的删除

1
2
3
4
            del(index) {
                console.log(index);
                this.list.splice(index, 1)
            }

只需要通过当前元素传入索引,使用splice删除即可

完整源码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <style type="text/css">
        .value {
            width: 500px;
            height: 50px;
        }

        span {
            display: inline-block;
            width: 300px;
            height: 50px;
            border: 1px solid black;
            line-height: 50px;
            text-align: center;
        }

        .rad {
            width: 50px;
            height: 50px;
        }

        .color {
            color: #ccc;
            background: #f1f1f1;
            font-weight: 700;
            font-size: 20px;
        }
    </style>
</head>
<script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.min.js"></script>

<body>
    <div id="app">
        <h2>添加任务</h2>
        <input type="text" name="" class="value" @keyup.13="add" v-model="val">
        <div>
            <span v-show="list.length">{{list.length}}个任务未完成</span>
            <span v-show="!list.length">没有任务</span>
            <span>所有任务</span>
            <span>未完成的任务</span>
            <span>完成的任务</span>
            <ul>
                <li v-for="item,index in list">
                    <input type="checkbox" name="" v-model="item.isCheckbox">
                    <i :class="{color:item.isCheckbox}">{{item.title}}</i>
                    <span @click="del(index)">删除</span>
                </li>
            </ul>
        </div>


    </div>

</body>

</html>

<script type="text/javascript">
    //创建对象
    var list = [{
            title: "打豆豆",
            isCheckbox: false
        },
        {
            title: "打豆豆",
            isCheckbox: true
        }
    ];
    new Vue({
        el: "#app",
        data: {
            list: list,
            val: ""
        },
        methods: {
            add(ev) {
                console.log(ev);
                if (ev.keyCode === 13) {
                    this.list.push({
                        title: this.val
                    })
                };
                this.val = '';
            },
            del(index) {
                console.log(index);
                this.list.splice(index, 1)
            }
        }
    })


    /*

    方法一
            add(ev){
                if (ev.keyCode === 13) {
                    this.list.push({
                       title:ev.target.value
                    })
                };


    注意:
    vue中没有实参有形参 那么那个参数就是event对象
    event对象也可以通过传入$event去获取

    todo表示传入的就是该数据,然后通过indexOf进行查找
            del(todo){
                var index = this.list.indexOf(todo);
                this.splice(index,1);
            }

    这里面所实现的push等功能,只是在外表上改写了,不是原生的方法

     */

</script>
百度已收录

点击快速分享:

以上就是国瑞前端个人博客带来的是《Vue中的增加和删除数据》,感谢您的观看!

如果没有特殊的说明,本文即为国瑞前端博客原创(www.huanggr.cn),欢迎读者转载并保留本站版权!https://www.huanggr.cn/209.html

「专业前端博客,如果觉得我的文章对您有用,请帮助本站成长」

赞( 45 ) 打赏

谢谢你请我吃鸡腿*^_^*

支付宝
微信
45

谢谢你请我吃鸡腿*^_^*

支付宝
微信
标签:

上一篇:

下一篇:

相关文章:

共有 0 条评论

博客简介

国瑞个人博客: https://www.huanggr.cn/,我们关注Web前端开发技术,web前端开发,移动前端开发,前端资讯,同时分享前端资源和工具等,期待你的参与,了解更多..

博主独立研发主题:

本站唯一QQ群

加入国瑞个人博客QQ群

本群为学习探讨群,主要和前端相关,欢迎广大前端(抱有学习目的均可)爱好者加入!广告请勿添加!

升级版本

web前端开发博客,基于vue脚手架制作的前端博客正在制作中,尽情期待,目前示例的代码位于此处

最新版本(尽请期待)-web前端开发博客

精彩评论

本站主要提供服务

二年web前端开发博客,本站专注提供web资源下载,技术问题解答,经验分享,也提供新手的web技术指导,二年前端个人博客,期待你的加入!

站点统计

  • 文章总数: 269 篇
  • 草稿数目: 50 篇
  • 分类数目: 26 个
  • 页面总数: 16 个
  • 评论总数: 223 条
  • 链接总数: 10 个
  • 标签总数: 104 个
  • 建站时间: 808 天
  • 注册用户: 659 人
  • 访问总量: 8785343 次
  • 最近更新: 2019年7月15日
-->