“Vue 小黑记事本 统计”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
(建立内容为“https://www.bilibili.com/video/BV12J411m7MG/?p=21”的新页面)
 
第1行: 第1行:
 
https://www.bilibili.com/video/BV12J411m7MG/?p=21
 
https://www.bilibili.com/video/BV12J411m7MG/?p=21
 +
 +
1.统计信息个数(<u>v-text</u> <u>length</u>)
 +
 +
=== 完整代码 ===
 +
<syntaxhighlight lang="html">
 +
<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>
 +
</syntaxhighlight>
 +
 +
# 总结
 +
# <u>基于数据</u> 的开发方式:页面是数据的展示,所有和数据相关的内容只要找到对应的数据就可以了,比如本例中的“个数”本质就是数组的长度
 +
# <u>v-text</u><nowiki> 指令的作用:设置文本。缩写形式是 {{}} ,这种写法叫做“差值表达式”</nowiki>

2023年8月9日 (三) 03:25的版本

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. 基于数据 的开发方式:页面是数据的展示,所有和数据相关的内容只要找到对应的数据就可以了,比如本例中的“个数”本质就是数组的长度
  3. v-text 指令的作用:设置文本。缩写形式是 {{}} ,这种写法叫做“差值表达式”