vuejs响应用户事件(如点击事件)

页面上的列表原先有3个,我们想点击一次添加一条记录,也可以在头和尾删除数据;

我们也可以删除我们想删除的任意一行记录;

如果是用传统的jquery操作,页面中js会特别多,而且操作也很麻烦。

这里用vue.js就非常简单。

我们先看页面效果:

vuejs响应用户事件(如点击事件)

页面初始化.png

vuejs响应用户事件(如点击事件)

末尾增加一项.png

vuejs响应用户事件(如点击事件)

删除项.png

再来看代码:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta content="width=device-width, initial-scale=1"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <title>demo04</title> <link href="https://www.jb51.net/css/base/bootstrap.min.css" > <link href="https://www.jb51.net/css/base/common.css" > </head> <body> <div> <ul v-for="item in items"> <li> <span v-on:click="removeTodo($index)">×</span> {{item.text}}&emsp;{{$index}} </li> </ul> <p> <button type="button" v-on:click="addAtLast($index)">在末尾增加一项</button> <button type="button" v-on:click="deleteAtTop($index)">删除第一项</button> <button type="button" v-on:click="deleteAtBottom($index)">删除最后一项</button> </p> </div> <script src="https://www.jb51.net/js/base/vue.js"></script> <script src="https://www.jb51.net/js/base/jquery.min.js"></script> <script src="https://www.jb51.net/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中一样。

因为这里的例子都不难,就不详细说了,大家可以照着上面的代码试试。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwwdfy.html