【VUE】便签本

  • 功能

  • 新增
  • 删除
  • 统计
  • 清空&隐藏


<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <title>便签本</title>
    <style>
        #app {
             400px;
            /* 标准流布局,盒子不给height就可以了哈哈哈 */
            border: 1px solid grey;
            padding-top: 4px;
        }
        
        h2 {
            text-align: center;
        }
        
        #app li {
            position: relative;
             310px;
            height: 50px;
            line-height: 50px;
            border: 1px solid grey;
            padding-left: 30px;
            list-style: none;
        }
        
        #app li:hover i {
            display: block;
        }
        
        #app input {
            height: 50px;
            margin-left: 40px;
            border: 1px solid grey;
             307px;
            outline: none;
            font-size: 20px;
            padding-left: 30px;
        }
        
        #app i {
            display: none;
            color: red;
            position: absolute;
            right: 30px;
            top: 3px;
        }
        
        footer {
            position: relative;
        }
        
        footer p {
            position: absolute;
            right: 21px;
            top: 2px;
            margin: 0;
        }
    </style>
</head>

<body>
    <div id="app">

        <h2>记事本</h2>
        <input type="text" v-model="addInfo" @keyup.enter="add" placeholder="请输入任务">
        <ul>
            <li v-for="(iterm,num) in arr">{{num+1}}&nbsp;&nbsp;{{iterm}}
                <i @click="remove(index)">x</i>
                <!-- index妙啊 -->
            </li>
            <br>
            <footer v-show="arr.length!=0">
                <strong>{{arr.length}}</strong> &nbsp;iterms left
                <p @click="clear">clear</p>
            </footer>

        </ul>

    </div>
    <script>
        var notebook = new Vue({
            el: "#app",
            data: {
                addInfo: "",
                arr: ["吃饭", "睡觉", "打豆"]
            },
            methods: {
                add: function() {
                    this.arr.push(this.addInfo);
                    // push的新元素放括号里
                },
                remove: function(index) {
                    this.arr.splice(index, 1);
                },
                // 新增元素的索引不对呢
                // 形参index不需要this
                sum: function() {
                    alert(arr.length);
                },
                clear: function() {
                    this.arr = [];

                }

            }
        })
    </script>
</body>

</html>
原文地址:https://www.cnblogs.com/icemiaomiao3/p/14619570.html