Vue-2-循環和點擊事件(留言板事例)

用到Bootstrap,和Vue的點擊事件,循環,和數據取值
Bootstrap需要jQuery.js

<!DOCTYPE html>
<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>留言板</title>
    <script src="../js/vue.js"></script>
    <link rel="stylesheet" href="../js/bootstrap-3.3.7-dist/css/bootstrap.css">
    <script src="../js/jquery-3.2.1.min.js"></script>
    <script src="../js/bootstrap-3.3.7-dist/js/bootstrap.js"></script>

</head>
<body>
<div class="container" id="box">
    <form role="form">
        <div class="form-group">
            <label for="username">用戶名:</label>
            <input type="text" id="username" class="form-control" placeholder="輸入用戶名" v-model="username">
        </div>
        <div class="form-group">
            <label for="age">年齡:</label>
            <input type="text" id="age" class="form-control" placeholder="輸入年齡" v-model="age">
        </div>
        <div class="form-group">
            <input type="button" value="添加" class="btn btn-primary" v-on:click="add()">
            <input type="reset" value="重置" class="btn btn-danger">
        </div>
    </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="(value,index) in myData">
            <td>{{index}}</td>
            <td>{{value.name}}</td>
            <td>{{value.age}}</td>
            <td>
                <button class="btn btn-primary btn-sm" data-toggle="modal" data-target="#layer" v-on:click="deleteIndex=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="deleteIndex=-2">刪除全部</button>
            </td>
        </tr>
        <tr v-show="myData.length==0">
            <td colspan="4" class="text-center text-muted">
                <p>暫無數據..</p>
            </td>
        </tr>

    </table>

    <!--模態框 彈出框-->
    <div role="dialog" class="modal fade" id="layer" data-index="{{deleteIndex}}">
        <div class="model-dialog">
            <div class="modal-content">
               <div class="modal-header">
                   <button type="button" class="close" data-dismiss="modal">
                       <span>&times;</span>
                   </button>
                   <h4 class="modal-title">確認刪除嗎</h4>
               </div>
                <div class="modal-body text-right">
                    <button class="btn btn-primary btn-sm" data-dismiss="modal">取消</button>
                    <button class="btn btn-danger btn-sm" data-dismiss="modal" v-on:click="deleteMsg()">確認</button>
                </div>

            </div>
        </div>
    </div>

    {{deleteIndex}}

</div>

<script>
    window.onload=function () {
        new Vue({
            el:"#box",
            data:{
                myData:[],
                username:"",
                age:"",
                deleteIndex:""
            },
            methods:{
                add:function () {
                    this.myData.push({
                        name: this.username,
                        age: this.age
                    });
                    this.username = "";
                    this.age = "";
                },
                deleteMsg:function () {
                    if(this.deleteIndex = -2){
                        this.myData=[];
                    }else{
                        this.myData.splice(this.deleteIndex, 1);
                    }
                }
            }
        });
    }

</script>

</body>
</html>

預覽:
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章