博客列表 >vue制作todolist小程序

vue制作todolist小程序

xiaozhu的博客
xiaozhu的博客原创
2017年11月20日 23:21:28686浏览

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>todos-vuejs</title>

    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">

    <meta name="apple-mobile-web-app-capable" content="yes">

    <meta name="apple-mobile-web-app-status-bar-style" content="black">

    <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.0.0-rc1/css/bootstrap.min.css">

    <script src="https://cdn.bootcss.com/jquery/1.7.2/jquery.min.js"></script>

    <script src="https://cdn.bootcss.com/bootstrap/2.0.1/bootstrap.min.js"></script>


    <script src="https://cdn.bootcss.com/vue/1.0.25-csp/vue.min.js"></script>

    <script>

        const STORAGE_KEY = 'todos-vuejs'

        window.onload = function(){

            new Vue({

                el:'#box',

                data:{

                    myData:JSON.parse(window.localStorage.getItem(STORAGE_KEY) || '[]'),

                    username:'',

                    age:'',

                    nowIndex:-100

                },

                methods:{

                    //添加用户

                    add:function(){

                        this.myData.push({'name':this.username,'age':this.age})

                        this.username = ''

                        this.age = ''

                    },

                    //删除用户

                    remove:function(n){

                        if(n ==-2){

                            this.myData= []

                        }else{

                            this.myData.splice(n,1)

                        }

                    },

                    //重置输入框

                    reset:function(){

                        this.username = ''

                        this.age = ''

                    }

                },

                //监听数据变化并存入到localStorage中

                watch: {

                    myData: {

                      handler(items) {

                        window.localStorage.setItem(STORAGE_KEY,JSON.stringify(items))

                      },

                       deep: true

                     }

                  }

            })

        }


    </script>

</head>

<body>

    <div id="box">

       <form>

           <div>

               <label>用户名</label>

               <input type="text" id ='username' placeholder='请输入用户名' v-model='username'  />

           </div>

           <div>

               <label>年龄</label>

               <input type="text" id ='age' placeholder='请输入年龄' v-model='age'/>

           </div>

           <div>

               <input type="button" value = '添加' class='btn btn-primary btn-sm' v-on:click="add()" />

               <input type="reset" value = '重置' class='btn btn-danger btn-sm' @click = 'reset()'/>

           </div>

       </form>h

       <hr>

       <div>

            <p class="h3 text-info text-center">用户信息表</p>

            <table class="table table-bordered table-hover text-center">

                <tr>

                    <th>序号</th>

                    <th>名字</th>

                    <th>年龄</th>

                    <th>操作</th>

                </tr>

                <tr v-for = "item in myData ">

                    <td>{{$index+1}}</td>

                    <td>{{item.name}}</td>

                    <td>{{item.age}}</td>

                    <td>

                        <input type="button" class="btn btn-danger btn-sm" value='删除' data-toggle='modal' data-target='#layer' v-on:click="nowIndex = $index" />

                    </td>

                </tr>

                <tr  v-if='myData.length!=0'  class="text-right">

                    <td colspan="4">

                        <input type="button" class="btn btn-danger btn-sm" value='删除全部' @click='nowIndex = -2' data-toggle='modal' data-target='#layer' />

                    </td>

                </tr>

                <tr v-if='myData.length==0'>

                   <td colspan="4" class="text-center text-muted">

                       <p>暂无数据 </p>

                   </td>

                </tr>

            </table>

       </div>

       <div role='dialog' class="modal fade bs-examle-modal-sm" id="layer">

           <div>

               <div>

                   <div>

                       <button type="button" data-dismiss='modal'>

                            <span>&times.</span>

                       </button>

                       <h4>确认删除吗</h4>

                   </div>

                   <div class="modal-body text-right">

                        <button data-dismiss='modal' type="button" class="btn btn-primary btn-sm">取消</button>

                        <button data-dismiss='modal' type="button" class="btn btn-danger btn-sm" @click='remove(nowIndex)'>确认</button>

                   </div>

               </div>

           </div>

       </div>

    </div>

</body>

</html>


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议