Vue 小黑记事本 统计

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

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

1.统计信息个数(v-text length

完整代码

<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">
                <span class="todo-count">
                    <strong>{{ list.length }}</strong> items left
                </span>
                <button class="clear-completed">
                    Clear
                </button>
            </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. v-text 指令的作用:设置文本。缩写形式是 {{}} ,这种写法叫做“差值表达式”