vuejs响应用户事件(如点击事件)
时间:2021-09-02 10:06:47|栏目:vue|点击: 次
需求:
页面上的列表原先有3个,我们想点击一次添加一条记录,也可以在头和尾删除数据;
我们也可以删除我们想删除的任意一行记录;
如果是用传统的jquery操作,页面中js会特别多,而且操作也很麻烦。
这里用vue.js就非常简单。
我们先看页面效果:
页面初始化.png
末尾增加一项.png
删除项.png
再来看代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <title>demo04</title> <link rel="stylesheet" href="../css/base/bootstrap.min.css" rel="external nofollow" > <link rel="stylesheet" href="../css/base/common.css" rel="external nofollow" > </head> <body> <div class="container mt15" id="ul-lists"> <ul class="list-group" v-for="item in items"> <li class="list-group-item"> <span class="label label-default label-pill pull-right" v-on:click="removeTodo($index)">×</span> {{item.text}} {{$index}} </li> </ul> <p class="mt15"> <button type="button" class="btn btn-info" v-on:click="addAtLast($index)">在末尾增加一项</button> <button type="button" class="btn btn-secondary" v-on:click="deleteAtTop($index)">删除第一项</button> <button type="button" class="btn btn-secondary" v-on:click="deleteAtBottom($index)">删除最后一项</button> </p> </div> <script src="../js/base/vue.js"></script> <script src="../js/base/jquery.min.js"></script> <script src="../js/base/bootstrap.min.js"></script> <script> new Vue({ el: '#ul-lists', data: { items: [ { text: 'item' }, { text: 'item' }, { text: 'item' } ] }, methods: { removeTodo: function (index){ this.items.splice(index, 1) }, addAtLast: function(index){ this.items.push({ text: 'item' }) }, deleteAtTop: function(index){ this.items.shift(); }, deleteAtBottom: function(index){ this.items.pop(); } } }); </script> </body> </html>
在上面的代码中,我们主要是通过方法来管理Items这个数据,从而实现页面上的交互。
splice、push、shift、pop的用法和在js中一样。
因为这里的例子都不难,就不详细说了,大家可以照着上面的代码试试。