b站黑马的Vue快速入门案例代码——小黑记事本

news2024/11/28 10:41:53

目录

目标效果:

重点原理:

(1)push()方法——向数组末尾,添加新元素,并返回新长度

(2)v-on可以传递自定义参数,v-on:click=”...“的简写是@click,其他事件同理

(3)v-on可以结合事件修饰符

e.g.@keyup.enter="add"指——当键盘回车键弹起后,调用add事件

(4)v-model获取+设置 表单元素 的值

【v-model双向数据绑定——表单数据和绑定的数据互相同步修改】

(5)v-for——【遍历数组】【是响应式的,和数据绑定,数据没了,就也不生效了】根据数据生成列表结构

语法   v-for=(item,index) in arr

(6)splice()方法——添加/删除/替换数组

 splice(从哪个索引号代表的内容开始删,删除的元素的个数)

(7){{}}差值表达式是v-text的简写——【解析文本用】设置标签的文本值

代码部分:

1.小黑记事本.html(全是重点)

2.index.css(辅助作用)

3.vue.js(辅助作用)

安装Vue的方法 /获取vue.js文件的方法:


目标效果:

1.【新增】在文本框输入想要添加的计划(默认添加的计划是:好好学习),按键盘的Enter回车键,即可将计划添加至下方计划的后面

2.【删除】鼠标放在对单个计划上,右边会显示X点击删除用的x按钮,可以删除对应的单个计划

3.【统计】当记事本中记录的计划的总个数!=0时(即还有计划内容),左下角有一行文字,统计记事本中记录的计划的总个数

4.【清空】点击Clear按钮,清空所有记事本中记录的计划 

5.【隐藏】当记事本中记录的计划的总个数=0时(即计划内容),隐藏下面的计划表

e.g.1初始状态:

e.g.2在初始状态基础上,直接按键盘Enter回车键:

e.g.3在初始状态基础上,输入自己想添加的计划,再按键盘Enter回车键:

再按键盘Enter回车键:

e.g.4在e.g.3基础上,点击X,即可删除对应的单个计划

例如:点击喝牛奶后面的X

 即删除了喝牛奶这一行:

e.g.5注意观察左下角的数字,是对应的当前计划的总个数:

e.g.6在e.g.5的基础上,点击右下角的Clear

清空所有计划:

重点原理:

(1)push()方法——向数组末尾添加新元素,并返回新长度

(2)v-on可以传递自定义参数,v-on:click=”...“的简写@click,其他事件同理

(3)v-on可以结合事件修饰符

e.g.@keyup.enter="add"指——当键盘回车键弹起后,调用add事件

(4)v-model获取+设置 表单元素 的值

【v-model双向数据绑定——表单数据和绑定的数据互相同步修改】

(5)v-for——【遍历数组】【是响应式的,和数据绑定,数据没了,就也不生效了】根据数据生成列表结构

语法   v-for=(item,index) in arr

item遍历的每一项【可改名字】

index遍历的每一项的索引号

in关键字 【不可改】

arr遍历的数据/数组【可改名字】

(6)splice()方法——添加/删除/替换数组

 splice(从哪个索引号代表的内容开始删,删除的元素的个数)

        var fruits = ["Banana", "Orange", "Apple", "Mango"];
        fruits.splice(2, 0, "Lemon", "Kiwi");// 第一个参数表示从索引号2开始;第二个参数表示删除0个;第三个参数开始为要添加的元素,可以是数组 
        console.log(fruits);//Array(6) ["Banana", "Orange", "Lemon", "Kiwi","Apple", "Mango"]

(7){{}}差值表达式是v-text的简写——【解析文本用】设置标签的文本值

代码部分:

1.小黑记事本.html(全是重点)

<html>

<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  <title>小黑记事本</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  <meta name="robots" content="noindex, nofollow" />
  <meta name="googlebot" content="noindex, nofollow" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <link rel="stylesheet" type="text/css" href="./css/index.css" />
</head>

<body>
  <!-- 主体区域 -->
  <section id="todoapp">
    <!-- 输入框 -->
    <header class="header">
      <h1>小黑记事本</h1>
      <!-- v-model="inputValue"给记事本中记录的每个计划前面的输入框,设置v-for,来设置默认输入的文字 -->
      <!-- @keyup.enter="add"当键盘回车键弹起后,调用add事件-->
      <input v-model="inputValue" @keyup.enter="add" autofocus="autofocus" autocomplete="off" placeholder="请输入任务"
        class="new-todo" />
    </header>
    <!-- 列表区域 -->
    <section class="main">
      <ul class="todo-list">
        <!-- 给记事本中记录的每个计划,设置v-for,来遍历数组list -->
        <li class="todo" v-for="(item,index) in list ">
          <div class="view">
            <!-- 设置记事本中记录的每个计划前的 序号-->
            <!-- index从0开始,所以要加1-->
            <span class="index">{{index+1}}.</span>
            <!-- 设置记事本中记录的每个计划的  内容-->
            <label>{{ item }}</label>
            <!-- 删除用的x按钮 -->
            <!-- @click="remove"点击删除用的x按钮,调用remove事件 -->
            <button class="destroy" @click="remove(index)"></button>
          </div>
        </li>
      </ul>
    </section>
    <!-- 统计和清空 -->
    <footer class="footer">
      <!-- 对于记事本中记录的计划的总个数,如果计划都被清空了,需要隐藏该文字 -->
      <!-- v-if="list.length!=0"指 记事本中记录的计划的总个数!=0,显示该文字-->
      <span class="todo-count" v-if="list.length!=0">
        <!-- {{list.length}} 中是 记事本中记录的计划的总个数-->
        <strong>{{list.length}}</strong> items left
      </span>
      <!--  @click="clear"点击Clear按钮,删除 所有记事本中记录的计划 -->
      <!--  v-show="list.length!=0"指 记事本中记录的计划的总个数!=0,显示Clear文字 -->
      <button class="clear-completed" @click="clear" v-show="list.length!=0">
        Clear
      </button>
    </footer>
  </section>
  <!-- 底部 -->
  <footer class="info">
    <p>
      <a href="http://www.itheima.com/"><img src="./img/black.png" alt="" /></a>
    </p>
  </footer>
  <!-- 开发环境版本,包含了有帮助的命令行警告 -->
  <script src="../vue.js"></script>
  <script>
    var app = new Vue({
      el: "#todoapp",
      data: {
        list: ["吃苹果", "喝牛奶", "读书"],
        inputValue: "好好学习"
      },
      methods: {
        // 1.添加功能
        add: function () {
          // push()方法——向数组末尾,添加新元素,并返回新长度
          // 用push(),添加inputValue的值去list数组末尾
          this.list.push(this.inputValue);//此处this指当前对象#todoapp
        },
        // 2.删除功能
        remove: function (index) {//形参index,接收上面@click="remove(index)中的index,即获得点击对应计划的索引号
          // splice()方法——删除数组内容
          // splice(从哪个索引号代表的内容开始删,删除的元素的个数)
          //此处点谁就删谁
          this.list.splice(index, 1);
        },
        //3.清空功能
        clear: function () {
          //直接把list数组变成空数组
          this.list = [];//此处this指当前对象#todoapp
        }
      }
    })
  </script>
</body>

</html>

2.index.css(辅助作用)

* {
  margin: 0;
  padding: 0;
}

html,
body,
#mask {
  width: 100%;
  height: 100%;
}

#mask {
  background-color: #c9c9c9;
  position: relative;
}

#mask .center {
  position: absolute;
  background-color: #fff;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  padding: 10px;
}
#mask .center .title {
  position: absolute;
  display: flex;
  align-items: center;
  height: 56px;
  top: -61px;
  left: 0;
  padding: 5px;
  padding-left: 10px;
  padding-bottom: 0;
  color: rgba(175, 47, 47, 0.8);
  font-size: 26px;
  font-weight: normal;
  background-color: white;
  padding-right: 50px;
  z-index: 2;
}
#mask .center .title img {
  height: 40px;
  margin-right: 10px;
}

#mask .center .title::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border: 65px solid;
  border-color: transparent transparent white;
  top: -65px;
  right: -65px;
  z-index: 1;
}

#mask .center > img {
  display: block;
  width: 700px;
  height: 458px;
}

#mask .center a {
  text-decoration: none;
  width: 45px;
  height: 100px;
  position: absolute;
  top: 179px;
  vertical-align: middle;
  opacity: 0.5;
}
#mask .center a :hover {
  opacity: 0.8;
}

#mask .center .left {
  left: 15px;
  text-align: left;
  padding-right: 10px;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}

#mask .center .right {
  right: 15px;
  text-align: right;
  padding-left: 10px;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}

3.vue.js(辅助作用)

因为该文件内容太多,请前往该网址(Vue官网)下载 

安装 — Vue.js

安装Vue的方法 /获取vue.js文件的方法:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/91814.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

jdk11新特性——标准Java异步HTTP客户端

目录一、概述二、HTTP Client 同步发送请求使用示例2.1、创建简单的服务端2.2、创建HTTP Client 同步代码三、HTTP Client 异步发送请求使用示例3.1、创建简单的服务端&#xff08;参考2.1&#xff09;3.2、创建HTTP Client 异步代码一、概述 Java 9 开始引入的一个处理 HTTP …

浅谈ioremap,vmalloc,mmap三者之间的脉络

前言 系统mmu开启后, 程序对内存的访问都是虚拟地址, 之后mmu会自动将虚拟地址变为实际的物理地址&#xff08;硬件行为&#xff09;, 所以我们的程序如果要访问物理地址的话&#xff0c;必须要通过mmu建立虚拟地址与物理地址之间的映射关系。对于虚拟地址映射到物理地址的操作…

非零基础自学Golang 第7章 函数 7.6 延迟执行语句 7.7 小结

非零基础自学Golang 文章目录非零基础自学Golang第7章 函数7.6 延迟执行语句7.7 小结第7章 函数 7.6 延迟执行语句 Go语言中存在一种延迟执行的语句&#xff0c;由defer关键字标识&#xff0c;格式如下&#xff1a; defer 任意语句defer后的语句不会被马上执行&#xff0c;在…

Redis持久化详解

一、概述 在Redis中&#xff0c;实现高可用的技术主要包括持久化、复制、哨兵和集群&#xff0c;下面分别说明它们的作用&#xff0c;以及解决了什么样的问题。 持久化&#xff1a;持久化是最简单的高可用方法(有时甚至不被归为高可用的手段)&#xff0c;主要作用是数据备份…

springboot整合系列之如何选择版本及项目搭建

特别说明&#xff1a;本次项目整合基于idea进行的&#xff0c;如果使用Eclipse可能会略有不同。因为我很久没用过eclipse了&#xff0c;所以也没有办法给出两个版本。如果不一致的地方就自行google解决吧~~ springboot整合之如何选择版本及项目搭建 springboot整合mybatis-pl…

ADI Blackfin DSP处理器-BF533的开发详解52:图像处理专题-CMOS摄像头采集图像(含源码)

硬件准备 ADSP-EDU-BF533&#xff1a;BF533开发板 AD-HP530ICE&#xff1a;ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 板卡上设计了一个摄像头接口&#xff0c;可以连接与板卡匹配的 ADSP-EDU-CMOS 子卡板。摄像头接口采用 20PIN 插针接入&#xff0c;将插…

照片变漫画怎么做?分享这几个照片变漫画的技巧给你

大家在网上是否有看到过一些绘画博主给别人画漫画图呢&#xff1f;这些图片中的人物形象与现实中的非常相像&#xff0c;而且看起来真的很像漫画中的人物一般&#xff0c;画出来对于一些没有绘画功底的人来说是比较困难的。那么我们又该如何得到我们在漫画中的图片呢&#xff1…

四种常见排序(冒泡、选择、插入、快速排序)--- Python版

经典排序算法总结与实现 经典排序算法在面试中占有很大的比重&#xff0c;也是基础&#xff0c;为了未雨绸缪&#xff0c;这次收集整理并用Python实现了八大经典排序算法&#xff0c;包括冒泡排序&#xff0c;插入排序&#xff0c;选择排序&#xff0c;希尔排序&#xff0c;归…

Python实现批量采集美女视*频 <无水印>

前言 大家早好、午好、晚好吖 ❤ ~ 我给大家准备了一些资料&#xff0c;包括: 2022最新Python视频教程、Python电子书10个G &#xff08;涵盖基础、爬虫、数据分析、web开发、机器学习、人工智能、面试题&#xff09;、Python学习路线图等等 直接在文末名片自取即可&#x…

机器学习还能预测心血管疾病?没错,我用 Python 写出来了

全球每年约有1700万人死于心血管疾病&#xff0c;当中主要表现为心肌梗死和心力衰竭。当心脏不能泵出足够的血液来满足人体的需要时&#xff0c;就会发生心力衰竭&#xff0c;通常由糖尿病、高血压或其他心脏疾病引起。 在检测心血管疾病的早期症状时&#xff0c;机器学习就能…

nodejs+vue企业固定资产管理系统-vscode

目 录 摘 要 I 目 录 III 第一章 概述 1.1研究背景 1.2 开发意义 1.3 研究现状 1.4 研究内容 1.5 论文结构 第二章 开发技术介绍 2.5 B/S架构 3.1 可行性分析 3.1.1技术可行性 3.1.2操作可行性 3.1.3 经济可行性 3.1.4 运行可行性 3.2性能需求分析 3.4功能分析 第四章 系统设计…

轻量级的架构决策记录机制

作者&#xff1a;倪新明 ADR是一种性价比非常高的架构决策文档化实践&#xff0c;团队引入和实践成本很低&#xff0c;却能为团队带来极大收益&#xff01; 1 团队研发面临的问题 不论是在传统的IT行业&#xff0c;还是互联网行业&#xff0c;研发团队在架构决策层面或多或少…

在Arduino IDE上开发ESP32(离线安装SDK)

用过Arduino的朋友都知道&#xff0c;Arduino的整个生态强大得让你不能不服。大家所贡献出来的各种库让基于Arduino的开发虽然还没有变得无所不能&#xff0c;但也算是相当得心应手了。你所能想到的功能大体都能在网上找到对应的库和文章。可能是因为这个原因吧&#xff0c;所以…

Redis整理-未完成

目录 1. Redis安装 1.1 单机 1.2 主从 1.3 哨兵 1.4 集群 1.4.1 方式一 redis-cli --cluster命令 1.4.2 方式二 cluster meet/addslots/replicate 2. Redis配置 2.1 基本参数配置 2.2 持久化配置 2.3 内存策略设置 2.4 主从配置 2.5 哨兵配置 2.6 集群配置 2.6.…

吃透这份 “ 自动化测试 ” 核心技术栈,月薪30K还不是随便叫

为了帮助大家快速回顾学习自动化测试中的知识点&#xff0c;分享一下这些年来&#xff0c;我对于技术一些归纳和总结&#xff0c;和自己对作为一名 高级测试工程师需要掌握那些技能的笔记分享&#xff0c;希望能帮助到有心在技术这条道路上一路走到黑的朋友&#xff01; 一、L…

[附源码]Python计算机毕业设计SSM基于JAVA快递配送平台(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

语音怎么转换成文字?这几个实用方法分享给你

当我们在听一些流行的英文歌曲时&#xff0c;发现它没有附带翻译的时候&#xff0c;是不是常常听不懂歌曲的意思内容呢&#xff1f;面对这种情况应该怎么办呢&#xff1f;其实也不难&#xff0c;我们只需要利用软件来将歌曲转换成文字的格式就可以了&#xff0c;那你们知道如何…

分布式系统(交互、协作)

文章目录进程组织进程交互传染病协议反熵&#xff08;Anti-Entropy&#xff09;闲聊&#xff08;Gossiping&#xff09;P2P 路由Circular routingPastry应用层多播ESMScribe中间件通信协议RPCMOM进程协作有序组播基本组播FIFO 组播全排序组播定序者分布式协商因果序组播分布式互…

基于SSM框架的酒店管理系统

基于SSM框架的酒店管理系统开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a; 看每个等级模块&#xff1a;客白模块&#xff0c;屋工模垫&#xff0c;反怠管理员模垫 客户可…

如何实现采购管理流程的优化?

采购管理流程优化指的是一种整体方法&#xff0c;而不是个人主义的方法。它指的是利用人员、流程和技术来实现最佳价值创造的过程。采购优化的方法可以是&#xff1a;最初的范围界定&#xff0c;数据收集和分析&#xff0c;改进和实施以及跟进和监控。 理解采购管理流程优化 …