vue.js—简易留言板效果实例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="../lib/bootstrap.min.css" /> <script type="text/javascript" src="../lib/jquery-1.7.2.js" ></script> <script type="text/javascript" src="../lib/bootstrap.js" ></script> <script type="text/javascript" src="../js/vue.js" ></script> <script> window.onload = function(){ new Vue({ el: '#box', data: { myData: [], username: '', age: '', nowIndex: -100, deletePrompt: '' }, methods: { add: function(){ this.myData.push({ name: this.username, age: this.age }); this.username = ''; this.age = ''; }, deleteMsg: function(){ if(this.nowIndex == -1) { this.myData = []; } else { this.myData.splice(this.nowIndex,1); } }, deleteFun: function(data,$index) { if(data == 1) { this.nowIndex = $index; this.deletePrompt='确认删除么?'; } else { this.nowIndex = $index; this.deletePrompt='确认删除全部么?'; } } } }); } </script> </head> <body> <p class="container" id="box"> <form role="form"> <p class="form-group"> <label for="username">用户名:</label> <input type="text" id="username" class="form-control" placeholder="输入用户名" v-model="username"/> </p> <p class="form-group"> <label for="age">年 龄:</label> <input type="text" id="age" class="form-control" placeholder="输入年龄" v-model="age"/> </p> <p class="form-group"> <input type="button" value="添加" class="btn btn-primary" v-on:click="add()" /> <input type="reset" value="重置" class="btn btn-danger" /> </p> </form> <hr> <table class="table table-bordered table-hover"> <caption class="h2 text-info">用户信息表</caption> <tr class="text-danger"> <th class="text-center">序号</th> <th class="text-center">名字</th> <th class="text-center">年龄</th> <th class="text-center">操作</th> </tr> <tr class="text-center" v-for="item in myData"> <td>{{$index+1}}</td> <td>{{item.name}}</td> <td>{{item.age}}</td> <td> <button class="btn btn-primary btn-sm" data-toggle="modal" data-target="#layer" v-on:click="deleteFun(1,$index)">删除</button> </td> </tr> <tr v-show="myData.length!=0"> <td colspan="4" class="text-right"> <button class="btn btn-danger btn-sm" data-toggle="modal" data-target="#layer" v-on:click="deleteFun(2,-1)">删除全部</button> </td> </tr> <tr v-show="myData.length==0"> <td colspan="4" class="text-center text-muted"> <p>暂无数据....</p> </td> </tr> </table> <!-- 模态框 弹出框 --> <p role="dialog" class="modal fade bs-example-modal-sm" id="layer"> <p class="modal-dialog"> <p class="modal-content"> <p class="modal-header"> <button type="button" class="close" data-dismiss="modal"> <span>×</span> </button> <h4 class="modal-title">{{deletePrompt}}</h4> </p> <p class="modal-body text-right"> <button data-dismiss="modal" class="btn btn-primary btn-sm">取消</button> <button data-dismiss="modal" class="btn btn-danger btn-sm" v-on:click="deleteMsg()">确认</button> </p> </p> </p> </p> </p> </body> </html>
上述代码的效果图如下: