首页 > 其他分享 >vue初使用实例之笔记本

vue初使用实例之笔记本

时间:2024-06-11 17:00:12浏览次数:14  
标签:vue items app 笔记本 Vue lt 实例 10px id

<!DOCTYPE html>

<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title></title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="">
        <style>
        #app{
            width: 500px;
            margin:200px auto;
            border: 1px solid #ccc;
            padding: 10px;
            border-radius: 10px;
            box-shadow: 0 0 10px #ccc;
        }
        #app h2{
        
            text-align: center;
            margin-bottom: 10px;
        }
        #app ul{
            list-style: none;
            padding: 0;
            margin: 0;
            margin-top: 10px;
            border-top: 1px solid #ccc;
        }
        #app li{
            padding: 10px;
            border-bottom: 1px solid #ccc;
            cursor: pointer;
            transition: all 0.5s;
            background-color: #f5f5f5;
        }
        #app li:hover{
            background-color: #ccc;
        }
        #app input{
            margin-bottom: 10px;
            width: 85%;
            height: 30px;
            
        }
        #app button{
            margin-left: 10px;
            height: 30px;
            
        }
        #app li button{
            float: right;
        }
        </style>
    </head>
    <body>
        <div id="app">
            <h2>记事本</h2>
            <input  type="text" v-model="active" placeholder="请输入内容">
            <button  @click="add">添加</button>
            <ul>
                <li v-for="(item,index) in items" :key="item.id">
                    <span>
                        {{(index+1)+'.'}}
                    </span>
                    {{item.name}}
                    <button @click="del(item.id)">删除</button>
                </li>
                
            </ul>
            <div style="margin-top: 10px;">
                <span style="margin-left: 10px;">总计:{{items.length}}</span>
                <button style="float: right;margin-right: 10px;width: 9%;height: 25px;margin-top: 3px;margin-bottom:2px;" @click="clear">清空</button>
            </div>
           
        </div>
        
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js" ></script>

          <script> 
           var app=new Vue({
            el: '#app',
            data: {
            items: [
                {id:1,name:'唱跳'},
                {id:2,name:'rap'},
                {id:3,name:'篮球'}
            ],
            active:'',
          
                },
            methods:{
                add(){
                    if(this.active){
                        this.items.push({
                            id:+new Date(),
                            name:this.active
                        })
                        this.active=''
                    }
                    else{
                        alert('请输入内容')
                    }
                },
                del(id){
                    this.items=this.items.filter(item=>item.id!==id)
                    console.log(id)
                },
                clear(){
                    this.items=[]
                }
            },
           
            })
            </script>
    </body>
</html>

这段代码是一个简单的记事本应用,使用Vue.js实现了添加、删除、清空功能。下面逐行解析代码:

  1. &lt;!DOCTYPE html>:声明这是一个HTML文档。

  2. &lt;html>:HTML文档的根元素。

  3. &lt;head>:头部元素,用于定义文档的一些元数据,如字符编码、标题、样式表等。

  4. &lt;meta charset="utf-8">:声明文档使用的字符编码为UTF-8。

  5. &lt;meta http-equiv="X-UA-Compatible" content="IE=edge">:告诉IE浏览器使用最新的渲染引擎。

  6. &lt;title>&lt;/title>:文档的标题,这里为空。

  7. &lt;meta name="description" content="">:文档的描述,这里为空。

  8. &lt;meta name="viewport" content="width=device-width, initial-scale=1">:设置文档的视口,使其能够在不同设备上正常显示。

  9. &lt;link rel="stylesheet" href="">:引入样式表,这里为空。

  10. &lt;style>:内部样式表,样式定义在这个标签里。

  11. #app{...}:定义了一个id为app的元素的样式。

  12. &lt;body>:文档的主体部分。

  13. &lt;div id="app">:一个id为app的div元素,这里将作为Vue实例的挂载点。

  14. &lt;h2>记事本&lt;/h2>:一个h2标签,显示标题。

  15. &lt;input type="text" v-model="active" placeholder="请输入内容">:一个文本输入框,使用v-model指令与Vue实例的active属性进行双向绑定。

  16. &lt;button @click="add">添加&lt;/button>:一个按钮,点击时调用Vue实例的add方法。

  17. &lt;ul>:一个无序列表,用于显示记事本条目。

  18. &lt;li v-for="(item,index) in items" :key="item.id">:一个li标签,使用v-for指令遍历Vue实例的items数组,并将每个数组项显示为一个li元素。

  19. &lt;span>{{(index+1)+'.'}}&lt;/span>:一个span标签,显示序号(index+1)。

  20. {{item.name}}:显示每个条目的name属性。

  21. &lt;button @click="del(item.id)">删除&lt;/button>:一个按钮,点击时调用Vue实例的del方法,传入item.id作为参数。

  22. &lt;div style="margin-top: 10px;">:一个div元素,用于显示总计和清空按钮。

  23. &lt;span style="margin-left: 10px;">总计:{{items.length}}&lt;/span>:一个span标签,显示总条目数(items数组的长度)。

  24. &lt;button style="float: right;margin-right: 10px;width: 9%;height: 25px;margin-top: 3px;margin-bottom:2px;" @click="clear">清空&lt;/button>:一个按钮,点击时调用Vue实例的clear方法。

  25. &lt;script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js">&lt;/script>:引入Vue.js库。

  26. &lt;script>:内部脚本,JavaScript代码定义在这个标签里。

  27. var app=new Vue({...}):创建一个Vue实例,将其赋值给变量app。

  28. el: '#app':将Vue实例挂载到id为app的元素上。

  29. data: {...}:定义Vue实例的数据对象。

  30. items: [...]:定义一个数组items,用于存储记事本的条目。

  31. active: '':定义一个字符串active,用于存储用户输入的内容。

  32. methods: {...}:定义Vue实例的方法。

  33. add(){...}:add方法,用于向items数组添加一个新的条目。

  34. del(id){...}:del方法,用于删除指定id的条目。

  35. clear(){...}:clear方法,用于清空items数组。

  36. &lt;/script>:脚本结束标签。

整个代码使用Vue.js实现了一个简单的记事本应用,包括添加条目、删除条目、清空条目等功能。使用Vue的数据绑定和方法调用,实现了视图与数据的双向同步。

标签:vue,items,app,笔记本,Vue,lt,实例,10px,id
From: https://blog.csdn.net/m0_72168336/article/details/139603412

相关文章

  • Redis:原理、概念、用法与实例解析
    Redis:原理、概念、用法与实例解析在当今风起云涌的技术领域中,Redis犹如一颗璀璨的明星,闪耀着独特的光芒。它作为一种备受瞩目的数据存储和缓存解决方案,以其卓越的性能、丰富多样的功能以及简单易用的特性,成为了众多开发者的心头好。在这篇博客中,我们将全方位、深层次地探......
  • 基于springboot+vue.js+uniapp小程序的社区团购系统附带文章源码部署视频讲解等
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaits系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • 基于Vue+Node.js的高校学业预警系统+10551(免费领源码)可做计算机毕业设计JAVA、PHP、爬
    NodeJS高校学业预警系统摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,教育行业当然也不能排除在外。高校学业预警系统是以实际运用为开发背景,运用软件工程开发方法,采用Node.JS技术构建的一个管理系统。......
  • vue3 高德安徽省边界 密钥必须添加否则会出现无法使用DistrictSearch的方法也不报错
    <template> <divclass="centermap"ref="mapContainer"></div></template><scriptsetuplang="ts">import{ref,onMounted}from'vue';importAMapLoaderfrom'@amap/amap-jsapi-l......
  • 管理数据必备;侦听器watch用法详解,vue2与vue3中watch的变化与差异
    目录一、侦听器(watch)是什么?二、Vue2中的watch(OptionsAPI)2.1、函数式写法2.2、对象式写法    ①对象式基础写法    ②回调函数handler    ③deep属性        ④immediate属性三、Vue3中的watch3.1、向下兼容(Vue2)的Options API3.2......
  • Vue3 运行可以,build 打包发布报错
    Vue多环境配置https://www.cnblogs.com/vipsoft/p/16696640.htmlconfig.jsconstconfig={title:'管理系统(开发)',//开发、测试apiUrl:'http://www.vipsoft.com.cn',version:'v1.0.1'}exportdefaultconfigmain.jsimportconfigfrom......
  • VsCode中snippets --- vue自定义代码片段
    vue自定义代码片段Vue2代码片段1、点击文件→首选项→选择配置用户代码片段2、在弹出这个窗口中选择新建全局代码片段文件3、选择后在此处输入文件名后按‘Enter’键确定4、点击确定后会生成以下文件5、替换成以下vue2代码片段6、使用代码片段Vue3代码片段使用defineC......
  • Vue3——创建Vue3工程
    基于Vue-Cli创建现在官方推荐使用create-vue来创建基于Vite的新项目(⚠️VueCLI现已处于维护模式!)#查看@vue/cli版本号,确保@vue/cli版本在4.5.0以上vue--version#没有安装@vue/cil或者版本不在4.5.0以上执行命令#安装或升级@vue/cli(确保安装了node.js)......
  • vue 如何更好的注册全局组件
    vue如何更好的注册全局组件通常做法install+use批量注册Vue3注册全局组件参考通常做法把组件导出到main.js,然后Vue.component(id,component),一个个注册,缺点:效率不高改进:把需要全局注册的组件放在数组中导出,然后forEach注册。importglobalComponentsfro......
  • 一些 vue2 项目中遇到的问题
    一些vue2项目中遇到的问题`Parsingerror:NoBabelconfigfiledetectedforxxx`参考Parsingerror:NoBabelconfigfiledetectedforxxxEitherdisableconfigfilecheckingwithrequireConfigFile:false,orconfigureBabelsothatitcanfindthe......