Vue 小黑记事本 新增

来自姬鸿昌的知识库
Jihongchang讨论 | 贡献2023年8月9日 (三) 02:27的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

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

  1. 生成列表结构(v-for 数组
  2. 获取用户输入(v-model)
  3. 回车,新增数据(v-on .enter 添加数据

完整代码

<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">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);
                    }
                }
            })
        </script>

    </body>
</html>

总结

  1. v-for 指令的作用:根据一个数组生成一个列表结构
  2. v-model 指令的作用:双向绑定数据,可以把表单中的内容和data中的数据关联起来,可以方便设置和取值
  3. v-on 指令,事件修饰符:可以绑定事件,结合事件修饰符可以做一些限制,本例中使用 .enter 来限制触发的按键
  4. 通过 审查元素 可快速定位:如果对页面布局不熟悉,可以通过 审查元素 快速定位到要操作的目标元素