Vue 小黑记事本 删除

来自姬鸿昌的知识库
跳到导航 跳到搜索

https://www.bilibili.com/video/BV12J411m7MG/?p=20

1.点击删除指定内容(v-on splice 索引

完整代码

<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>v-model 指令</title>
    </head>
    <body>
        
        <!--主体区域-->
        <section id="todoapp">
            <!--输入框-->
            <header class="header">
                <h1>小黑记事本</h1>
                <input autofocus="autofocus" autocomplete="off" placeholder="请输入任务" class="new-todo" v-model="inputValue" @keyup.enter="add"/>
            </header>

            <!--列表区域-->
            <section class="main">
                <ul class="todo-list">
                    <li class="todo" v-for="(item, index) in list">
                        <div class="view">
                            <span class="index">{{ index+1 }}</span>
                            <label>{{ item }}</label>
                            <button class="destroy" @click="remove(index)">x</button>
                        </div>
                    </li>
                </ul>
            </section>

            <!--统计和清空-->
            <footer class="footer">

            </footer>
        </section>

        <!--底部-->
        <footer class="info"></footer>

        <!-- 开发环境版本,包含了有帮助的命令行警告 -->
        <script src="vue.js"></script>
        
        <script>
            var app = new Vue({
                el:"#todoapp",
                data: {
                    message:"hello world",
                    list:[
                        "写代码","吃饭饭","睡觉觉"
                    ],
                    inputValue:"好好学习,天天向上"
                },
                methods:{
                    add: function(){
                        this.list.push(this.inputValue);
                    },
                    remove: function(index){
                        console.log("删除");
                        console.log(index);
                        this.list.splice(index, 1);
                    }
                }
            })
        </script>

    </body>
</html>

注意

  1. 数据改变,和数据绑定的元素 同步 改变
  2. 事件的 自定义参数
  3. splice 方法的作用:根据索引删除对应的元素