javascript - 为什么运行后,会先显示{{text}}

查看:108
本文介绍了javascript - 为什么运行后,会先显示{{text}}的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        /*样式重置*/
        body,p,ul,li,input,h1,h2,h3,h4,h5,h6,textarea,th,td{margin: 0;padding: 0;}
        table{border-spacing: 0;border-collapse: collapse;border: none;}
        button{border: none;}
        .mask{width:800px;background-color:rgb(220,220,220);font-family: "microsoft yahei";padding:0 20px;margin:100px auto;}
        .title{height: 80px;line-height: 80px;color: orange;font-size: 36px;border-bottom: 1px solid #000;}
        .show{font-size: 40px;margin: 10px 0;text-shadow: 0 0 1px black;}
        label{padding:10px 0;font-size: 20px;}            
        input{margin: 10px 0px;height: 30px;width:100%}
        .add,.reset{width:200px;height: 35px;display: block;margin: 10px auto;}
        .add{background-color: dodgerblue;}
        .reset{background-color: red;}
        table{width:100%;text-align: center;}
        th,td{height:40px;border: 1px solid #999;}
        .del{width:70px;height: 30px;background: orange;}
        .delAll{width:100px;height: 30px;background: red;}
        .alertbox{width:400px;height: 400px;border-radius: 5px;background-color: #999;border: 1px solid orange;text-align: center;vertical-align: middle;}
        .center{position: absolute;margin: auto;left: 0;right: 0;top: 400px;bottom: 0;}
        .cancel,.ensure{width: 80px;height: 30px;border: 1px solid orange;margin:300px 10px 0 0;border-radius: 6px;}
    </style>
    <script src="vue.js"></script>
</head>
<body>

        <div class="mask">
            <h1 class="title">待办事项</h1>
            <button class="show" @click="formshow()">{{text}}</button>
            <div class="wrap" v-show='bol'>
                <form> 
                    <label for="">待办日期</label>
                    <input type="date" name="date" id="" placeholder="输入待办日期" / v-model="date">
                    <label for="">待办事项描述</label>
                    <input type="text" name="des" id="" placeholder="输入待办事项描述" / v-model="des"><br />
                </form>            
                <button type="button" class="add" @click="additem()">添加</button><br />
                <button type="button" class="reset" @click="rest()">重置</button>
            </div>
            <h3>待办事项列表</h3>
            <table>
                <thead>
                    <tr>
                        <th>序号</th>
                        <th>待办日期</th>
                        <th>事项描述</th>
                        <th>操作</th>
                    </tr>
                </thead>
                <tbody>
                    <tr v-for='(item,index) in arr'>
                        <td>{{index+1}}</td>
                        <td>{{item.date}}</td>
                        <td>{{item.des}}</td>
                        <!--<td><button class="del" @click="delsingle()">删除</button><button class="amend" @click="amend()">修改</button></td>-->
                        <td><button class="del" @click="isshow=true;nowIndex=index;">删除</button><button class="amend" @click="amend()">修改</button></td>
                    </tr>
                </tbody>
                <tr v-show="this.arr.length==0">
                    <td colspan="4">
                        <span>暂无数据</span>
                    </td>
                </tr>
                <tr v-show="this.arr.length!=0">
                    <td colspan="4">
                        <button class="delAll" @click="delAll()">删除全部</button>
                    </td>
                </tr>
            </table>
            <div class="alertbox center" v-show="isshow">
                <button class="cancel" @click="cancel()">取消</button>
                <button class="ensure" @click="ensure()">确定</button>
            </div>
        </div>

</body>

</html>

<script>

var vm=new Vue({
    el:".mask",
    data:{
        bol:false,
        text:'+',
        arr:[

// {date:2011,des:"吃饭"},{date:2011,des:"吃饭"},{date:2011,des:"吃饭"}

        ],
        date:"",
        des:"",
        isshow:false,
        currentIndex:-1
    },
    methods:{
        formshow:function(){
            this.bol=!this.bol;
            this.text=this.text=="+"?this.text="-":this.text="+";
        },
        additem:function(){
            this.arr.push({date:this.date,des:this.des});
            this.date="";
            this.des="";
        },

// delsingle:function(i){
// this.currentIndex=i;
// this.isshow=!this.isshow;
// },

        cancel:function(){
            this.isshow=false;
        },
        ensure:function(){
            this.arr.splice(this.currentIndex,1);
            this.isshow=false;
        },
        delAll:function(){
            this.arr=[];
        },
        reset:function(){
            this.date="";
            this.des="";                
        }
    }
})

</script>

解决方案

官网:https://cn.vuejs.org/v2/api/#...

这篇关于javascript - 为什么运行后,会先显示{{text}}的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆