当前位置: 首页 > news >正文

【Vue3入门2】02-记事本案例

本文主要介绍记事本案例,具体实现记事本的显示、添加、删除、清空功能。

运用到了前面所介绍的各种vue操作

<body>
    <div id="app">
        <!-- 文本框使用双向绑定,当文本框内容更新,data.content也随之更新 -->
        <input type="text" v-model="data.content">

        <!-- 1.定义button按钮,并为其添加add方法 转2写add方法 -->
        <button @click="add">添加</button>

        <!-- 5.将修改后的list显示到页面上 -->
        <ul>
            <!-- 6.为li添加v-for循环li -->
            <!-- 当点击添加时 就把添加到数组的内容同样显示在页面上 -->
            <li v-for="(value,index) in data.list">
                {{ value }}
                <!-- 7.接下来实现删除效果,在每个li旁边显示删除按钮,删除需要唯一的标识index -->
                <button @click="del(index)">删除</button>
            </li>
        </ul>

        <!-- 11.获取记事本中记录的数量 -->
        {{ data.list.length }}

        <!-- 12.最后设置清空记事本的功能,转到13编写clear方法 -->
        <button @click="clear">清空</button>
    </div>
    <script type="module">
        // 模块化开发
        import { createApp, reactive } from './vue.esm-browser.js'
        createApp({
            setup() {  // reactive创建响应式数据
                const data = reactive({
                    content: "www.baidu.com",  // 内容
                    list: ["zzz", "baidu.com"],  // 列表
                })
                // 2.add方法 将文本框的内容添加到list数组内
                const add = () => {
                    // 3.将文本框内容push到数组内
                    data.list.push(data.content)
                    console.log(data.list);
                }
                // 8.del方法 将文本框的内容添加到list数组内
                const del = (index) => {
                    // 9.splice(删除的起始索引,删除的数量)
                    data.list.splice(index,1)
                    console.log(data.list)
                }
                // 13.clear方法
                const clear = () => {
                    // 14.只需要将list设置为空数组
                    data.list = []
                }
                return {
                    data,
                    // 4.返回add方法
                    add,
                    // 10.返回del
                    del,
                    // 15.返回clear
                    clear
                }
            }
        }).mount("#app")
    </script>
</body>

以上为记事本案例。

相关文章:

  • redis命令
  • 并查集(竞赛)
  • 生活电子类常识——搭建openMauns工作流+搭建易犯错解析
  • STM32单片机uCOS-Ⅲ系统10 内存管理
  • visual studio code 开发STM32步骤
  • 使用Python开发智能家居系统:基于语音命令的设备控制
  • 常⻅中间件漏洞--Tomcat
  • 深度解析 BPaaS:架构、原则与研发模式探索
  • 《Operating System Concepts》阅读笔记:p471-p472
  • Python常用库全解析:从数据处理到机器学习
  • leetcode0560. 和为 K 的子数组-medium
  • fatal: Unable to create /.git/index.lock‘: File exists.
  • WRC世界机器人大会-2024年展商汇总
  • 可发1区的创新思路:​基于K-means聚类的EMD-BiLSTM-CNN-Attention时间序列预测模型(功率预测、寿命预测、流量预测、故障诊断)
  • 链表相关知识总结
  • HTML:form表单简单介绍
  • 神经网络监督、半监督、无监督学习解析
  • 基于springboot的星之语明星周边产品销售网站(050)
  • LeetCode热题100精讲——Top3:最长连续序列【哈希】
  • 数的划分(dfs)
  • 经济日报社论:书写新征程上奋斗华章
  • 人民日报评论员:因势利导对经济布局进行调整优化
  • 青海西宁市城西区副区长于媛媛主动投案,接受审查调查
  • 遭遇大规模停电,西班牙内政部宣布进入国家紧急状态
  • 淮安四韵·名城新章: 网络名人领略“运河之都”魅力
  • 上海出台灵活就业人员公积金新政:不限户籍、提取自由,6月起施行