17-小黑记事本

news/2024/7/10 2:58:56 标签: vue

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>小黑的书架</title>

</head>

<body>

    <div id="app">

        <h3>小黑的书架</h3>

        <input type="text" v-model="todoName" placeholder="请输入"><button @click="add">添加</button>

        <ul>

            <li v-for="(item,index) in bookslist" :key="item.id">

                <span>{{index+1}}</span>

                <span>{{item.name}}</span>

                <span>{{item.author}}</span>

                <!--注册点击事件,通过id进行删除数组中的对应项-->

                <button @click="del(item.id)">删除</button>

            </li>

            <button v-show="bookslist.length>0">合计:{{bookslist.length}}</button>

            <button v-show="bookslist.length>0" @click="clear">清空</button>

        </ul>

    </div>

    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>

    <script>

       const app = new Vue({

        el:'#app',

        data:{

            bookslist:[

                {id:1,name:'《红梦楼1》',author:'曹雪芹'},

                {id:2,name:'《红梦楼2》',author:'曹雪芹'},

                {id:3,name:'《红梦楼3》',author:'曹雪芹'},

                {id:4,name:'《红梦楼4》',author:'曹雪芹'}

            ],

            todoName:''

        },

        methods:{

            del(id){

                // this.bookslist

                //通过id进行删除数组中的对应项->filter(不会改变原数组)

                //filter:根据条件,保留满足条件的对应项,得到一个新数组

                this.bookslist=this.bookslist.filter(item=>item.id!==id)

            },

            add(){

                if(this.todoName.trim()==''){

                    alert('请输入任务名称')

                    return;

                }

                this.bookslist.unshift({

                    id:+ new Date(),

                    name:this.todoName

                })

                this.todoName='';

            },

            clear(){

                this.bookslist=[];

            }

        }

       })

       //data中的数据,是会被添加到实列上

       //1.访问数据 实列.属性名

       //2.修改数据 实列.属性名=新值

    </script>

</body>

</html>


http://www.niftyadmin.cn/n/5476008.html

相关文章

动手学深度学习10 模型选择+过拟合和欠拟合

动手学深度学习10 模型选择过拟合和欠拟合 1. 模型选择2. 过拟合和欠拟合3.代码4. QA 1. 模型选择 电子书&#xff1a;https://zh-v2.d2l.ai/chapter_multilayer-perceptrons/underfit-overfit.html 视频&#xff1a;https://www.bilibili.com/video/BV1kX4y1g7jp?p1&vd_…

应用方案 | DCDC电源管理芯片MC34063A

MC34063A 为一单片 DC-DC 变换集成电路&#xff0c;内含温度补偿的参考电压源&#xff08;1.25V&#xff09;、比较器、能有效限制电流及控制工作周期的振荡器&#xff0c;驱动器及大电流输出开关管等。外配少量元件&#xff0c;就能组成升压、降压及电压反转型 DC-DC 变换器。…

QT6 Android设置程序图标及名称

一.APP应用图标设置 1.在工程目录中,创建一个Android_sources文件夹,在build-XXX

Matlab 基础语法 小结

input x input(prompt) # input digit str1 input(prompt,s) # input string执行图像处理任务 require Image Processing Toolbox Image Processing Toolbox™ provides a comprehensive set of reference-standard algorithms and workflow apps for image processing, a…

C++设计模式:桥模式(五)

1、定义与动机 桥模式定义&#xff1a;将抽象部分&#xff08;业务功能&#xff09;与实现部分&#xff08;平台实现&#xff09;分离&#xff0c;使他们可以独立地变化引入动机&#xff1a; 由于某些类型的固有的实现逻辑&#xff0c;使得它们具有两个变化的维度&#xff0c;…

蓝帕控制阀门将莅临2024年第13届生物发酵展

参展企业介绍 感谢你正在或即将使用蓝帕控制阀门(江苏)有限公司系列产品&#xff0c;感谢你关注蓝帕控制阀门(江苏)有限公司&#xff01; 蓝帕控制阀门(江苏)有限公司&#xff0c;流体控制领域的国际品牌之一&#xff0c;总部位于意大利米兰&#xff0c;成立多年以来&#xf…

linux 文件提权|属性修改

文章目录 suid&#xff08;set uid&#xff09;添加文件属性查看文件属性i &#xff08;immutable&#xff09; umask suid&#xff08;set uid&#xff09; 让文件在执行的时候具有属主&#xff08;对应文件 user &#xff09;的权限 chmod 7744 temp.txt 第一位的7表示权限位…

配置 施耐德 modbusTCP 分布式IO子站 PRA0100

模块官方介绍&#xff1a;https://www.schneider-electric.cn/zh/product/BMXPRA0100 1. 总体步骤 2. 软件组态&#xff1a;在 Unity Pro 软件中创建编辑 PRA 模块工程 2.1 新建项目 模块箱硬件型号如下 点击 Unity Pro 软件左上方【新建】按钮&#xff0c;选择正确的 DIO …