Vue作业

news2025/1/24 2:23:09

文章目录

  • 作业1
  • 作业2
  • 作业3
  • 作业4

作业1

作业:需要用data保存:商品名、单价、数量,然后显示到页面上,点击按钮可以变更数量,最小值1,减按钮不可用,最大值20,隐藏+按钮
总价格应该是 单价*数量,计算得到。

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>

<body>
    <div id="app">
        <!-- {{}} :插值语法, 用于向 双标签内容中 书写JS代码 -->
        <div>商品名: {{gName}}</div>
        <div>单价: ¥{{price}}</div>
        <div>
            数量:
            <!-- Vue框架的核心竞争力: 改动数据时, 与此数据有关系的DOM元素 都会被自动更新! -->
            <!-- :属性名="js代码" -->
            <button @click="changeCount(-1)" :disabled="count==1">-</button>
            <span>{{count}}</span>
            <!-- v-show: true显示/false隐藏;  本质是利用 css 的display:none 实现隐藏 -->
            <button @click="changeCount(+1)" v-show="count<20">+</button>
        </div>
        <div>总价格: ¥{{price * count}}</div>
    </div>

    <script>
        // 创建vue对象, 管理 id='app' 的元素
        new Vue({
            el: "#app", // #app是 id选择器的写法
            data: {
                gName: "iPhone14",
                price: 8999,
                count: 5,
            },
            methods: {
                // 关于事件参数: 如果要使用, 再写.
                changeCount(delta) {
                    this.count += delta
                },
            },
        })
    </script>
</body>

</html>

作业2

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>

<body>
    <div id="app">
        <!-- table[border=1]>(thead>tr>td*5)+(tbody>tr>td*5) -->
        <table border="1">
            <thead>
                <tr>
                    <td>序号</td>
                    <td>姓名</td>
                    <td>年龄</td>
                    <td>手机号</td>
                    <td>操作</td>
                </tr>
            </thead>
            <tbody>
                <tr v-for="(item,index) in teachers">
                    <!-- 序号本身从0开始, 显示时 +1 才能从1开始显示 -->
                    <td>{{index+1}}</td>
                    <td>{{item.name}}</td>
                    <td>{{item.age}}</td>
                    <td>{{item.phone}}</td>
                    <td>
                        <!-- 由于按钮是循环生成的, 所以其中的index变量, 在生成时会替换成实际的值, 例如 0 1 2 3... -->
                        <button :data-i="index" @click="removeTeacher(index)">
                            删除
                        </button>
                    </td>
                </tr>
            </tbody>
        </table>
    </div>

    <script>
        new Vue({
            el: "#app",
            data: {
                teachers: [
                    { name: "亮亮", age: 34, phone: "18787878789" },
                    { name: "亚楠", age: 18, phone: "18787875555" },
                    { name: "小新", age: 32, phone: "18787434897" },
                    { name: "铭铭", age: 35, phone: "18783447897" },
                    { name: "贾", age: 37, phone: "18787545697" },
                ],
            },
            methods: {
                // 删除指定序号的 元素
                removeTeacher(index) {
                    // 数组的万能方法 splice
                    // 数组.splice(i, n, e):  从序号i位置 删除n个元素, 然后把e行元素加入i位置
                    this.teachers.splice(index, 1)
                },
            },
        })
    </script>
</body>

</html>

作业3

在这里插入图片描述
显示图片,当当前项的序号 和 当前图片的序号 相同时不可用

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <div id="app">
      <!-- :scr="JS代码" -->
      <!-- 模板字符串:  `${js代码}` -->
      <img :src="`./img/${images[cur]}`" alt="" />
      <div>
        <!-- 写法1: 直接遍历图片数组, 用 序号+1 作为按钮名 -->
        <!-- 写法2: 遍历图片数组的长度, vue支持遍历数字 -->
        <!-- index: 序号, 从0开始;  item: 值, 从1开始 -->
        <!-- 点击事件: 事件发生时会触发 "" 中的代码 -->
        <!-- 当前项的序号 和 当前图片的序号 相同时, 不可用 -->
        <button
          @click="cur=index"
          v-for="(item,index) in images.length"
          :disabled="cur==index"
          :data-i="index"
        >
          {{item}}
        </button>
      </div>
    </div>

    <script src="./vendor/vue.js"></script>
    <script>
      new Vue({
        el: "#app",
        data: {
          images: ["1.jpg", "2.jpg", "3.jpg", "4.jpg"],
          cur: 0, //当前序号
        },
      })
    </script>
  </body>
</html>

作业4

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>

<body>
    <div id="app">
        <!-- v-if: 实现隐藏的原理: 移除DOM元素.  性能消耗大, 推荐v-show -->
        <div v-if="isLogin">
            <span>欢迎,小新</span>| <button @click="isLogin=false">退出</button>
        </div>

        <div v-else>
            <button @click="isLogin=true">登录</button>|<button>注册</button>
        </div>
    </div>

    <script>
        new Vue({
            el: "#app",
            data: { isLogin: false }, //代表登录状态
        })
    </script>
</body>

</html>

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

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

相关文章

酒业“新物种”的新思维:用户、品牌、模式

【潮汐商业评论/原创】中国的酒文化源远流长。古人有一万种喝酒的理由&#xff0c;或聚会畅饮&#xff0c;或独酌解忧&#xff0c;而餐桌是酒最常出现的地方。如今&#xff0c;与酒相关的场景日益多元&#xff0c;往往洋溢着青春的气息。一顶帐篷&#xff0c;三两好友围坐&…

一、数据仓库基础理论

数据仓库基础理论一、数据仓库1、概念2、数据仓库分层结构3、为什么要分层二、数据集市三、数据湖1、数据湖和数据仓库一、数据仓库 1、概念 数据仓库&#xff08;Data Warehouse, DW&#xff09;&#xff1a;一个面向主题的、集成的、非易失的、反应历史变化的、用来支持企业…

哈弗品牌发布新能源越野新品类车型:H-DOG

1月6日&#xff0c;哈弗品牌新能源车型哈弗H-DOG在海口新能源车展亮相。哈弗H-DOG针对用户5天通勤、2天郊野、e享时刻三大使用场景打磨&#xff0c;满足用户“可城、可野、可电”的用车需求&#xff0c;是哈弗品牌在新能源轻越野上的全新探索。• 哈弗H-DOG采用了全新的潮野力量…

Sentinel降级策略-RT、异常比例、异常数

Sentinel降级—RT 1&#xff09;RT&#xff1a;平均响应时间&#xff1b;配置平均响应时间为200ms&#xff0c;200ms内就要将请求处理完成&#xff1b; 2&#xff09;注意&#xff1a;Sentinel 默认统计的 RT 上限是4900ms&#xff0c;超出此阈值会算作 4900ms &#xff0c;若…

【PyTorch深度学习实践】05_逻辑斯蒂回归

文章目录1. 分类问题相关数据集1.1 MINIST1.2 CIFAR-102. 回归(Regression)VS分类(Classification)2.1 模型对比2.2 损失函数对比2.3 实现代码对比3. 完整代码之前使用线性回归解决的都是**回归&#xff08;预测&#xff09;**问题&#xff0c;逻辑斯蒂回归模型可以用来解决另一…

MySQL数据库:数据基本的增删改查

一、查询数据 1.查询表内所有数据 select * from 表名; 2.指定列查询 select 字段1, 字段2, …… from 表名; 3.查询字段为表达式 select 表达式1, 表达式2,…… from 表名; 4.起表名查询 如果对查询结果的字段名不满意&#xff0c;还可以自己进行取别名。 select 字段1 …

#Reading Paper# 【序列推荐】Session-based Recommendation with Graph Neural Networks

#论文题目&#xff1a;【序列推荐】SR-GNN: Session-based Recommendation with Graph Neural Networks&#xff08;SR-GNN:基于会话的图神经网络推荐&#xff09; #论文地址&#xff1a;https://arxiv.org/abs/1811.00855 #论文源码开源地址&#xff1a; https://github.com/C…

如何设置Windows文件夹背景为黑色?(其实就是“深色模式”)

大家好。我们直接进入正题! 如何把Windows文件夹背景改成黑色&#xff1f;就像下面这样。 第一步&#xff1a;打开 “个性化” 设置界面 这里介绍两种方法&#xff1a;(1)在电脑桌面 右键——》 个性化 &#xff0c;如下图 (2)点击 开始——》设置 ——》个性化 &#xff0c;如…

Typora+upic的配置

typora upic 的配置 背景说明 本人使用的是Mac book 的M1芯片电脑&#xff0c;为了方便写博客&#xff0c;整理了图片上传的方式&#xff1b; upic是一款上传图片的工具&#xff0c;主要为了帮助写博客上传工具使用的&#xff0c;方便上传图片&#xff1b; 配置七牛云的图床…

如何在 Kubernetes 部署 PostgreSQL

文章目录1. 简介2. 条件3. helm 部署 posgresql3.1 添加 Helm 存储库3.2 默认安装3.3 选参安装3.4 持久存储安装3.4.1 创建 PersistentVolume3.4.2 创建 PersistentVolumeClaim3.4.3 安装 Helm Chart3.4.5 连接到 PostgreSQL 客户端3.5 自定义配置 value.yaml4. 手动部署 postg…

Anaconda、CUDA、Pytorch安装

文章目录Anaconda、CUDA、Pytorch安装安装Anaconda安装CUDA安装cuDNN安装Pytorch小技巧验证原文链接&#xff1a; Tommy Shang的博客Anaconda、CUDA、Pytorch安装 很久没有更新博客&#xff0c;最近给实验室的机器安装Pytorch环境&#xff0c;顺手也把自己的机器装了一遍。 整…

《凤凰项目》读后感

无极限零部件公司的问题不提变更单导致变更引起很多问题&#xff0c;变更登记系统推行不下去不知道自己团队有多少项目在运行导致无法预估人力&#xff0c;进度怎么样&#xff0c;项目管理系统推行不下去安全部门提出各种安全问题&#xff0c;补丁安装审计部门提出各种审计不合…

Java学习之代码块

目录 一、代码块的基本介绍 二、基本语法 注意事项 三、代码块的好处和案例演示 四、注意事项和使用细节 第一点 第二点 第三点 案例演示 第四点 第五点 第六点 第七点 五、练习题 第一题 第二题 考察知识点 结论 结果 一、代码块的基本介绍 代码化块又称为初…

【论文导读】Deep Stable Learning for Out-Of-Distribution Generalization

DWR用到复杂数据集中。 看了一半发现一个博客将的也不错 放在这里Deep Stable Learning for Out-Of-Distribution Generalization_六点先生的博客-CSDN博客_随机傅里叶特征 目标任务&#xff1a; 一般假设&#xff08;训练数据的已知异质性&#xff08;如领域标签&#xff0…

FGH75T65SHD-F155 场截止沟槽 IGBT单管 应用于太阳能逆变器、UPS等多种应用

FGH75T65SHD-F155采用新型场截止 IGBT 技术&#xff0c;为太阳能逆变器、UPS、焊接机、电信、ESS 和 PFC 等低导通和开关损耗至关重要的应用提供最佳性能。 ONsemi安森美IGBT单管系列&#xff1a; FGH40N60SMD FGH60N60SMD FGH75T65SHD-F155 NGTB40N120FL2WG 特性&#x…

架构设计---用户加密处理

前言&#xff1a; 在互联网各种安全问题中&#xff0c;最能引发话题&#xff0c;刺激大众神经的就是用户的泄密问题&#xff0c;数据库被拖库导致所有的数据泄露&#xff0c;这种系统安全问题涉及的因素可能有很多&#xff0c;大部分和开发软件的程序员没有关系&#xff0c;但…

【PyTorch深度学习实践】03_反向传播

文章目录1.计算图2.反向传播2.1 链式求导法则2.2 反向传播过程3.Pytorch中前馈和反馈的计算3.1 Tensor3.2 代码演示对于简单的模型&#xff0c;梯度变换可以用解析式表达进行手算&#xff0c;但是复杂模型&#xff08;很多w&#xff0c;b&#xff09;的损失函数需要挨个写解析式…

【黑马】瑞吉外卖-Day03、04笔记

瑞吉外卖Day03、04 公共字段自动填充 使用MybatisPlus实现 问题分析 代码实现 Mybatis Plus公共字段自动填充&#xff0c;也就是在插入或者更新的时候为指定字段赋予指定的值&#xff0c;使用它的好处就是可以统一对这些字段进行处理&#xff0c;避免了重复代码。 实现步骤…

【学习】life long learning

文章目录life long learningLLL的难点评估二、LLL的三个解法1、Selective Synaptic Plasticity选择性突触可塑性为什么会有灾难性遗忘呢&#xff1f;GEM2、Additional Neural Resource Allocation额外的神经资源分配packNet&CPG3、memory replyCurriculum Learninglife lon…

SAP 字段仍作为视图字段在视图中使用 | 更改表结构重新生成 CDS View「实例」

错误信息 Field ZPDAUSER-ZUSERID is still being used as a view field in view ZV_PDA_USER视图 ZPDAUSER-ZUSERID 仍作为视图字段在视图 ZV_PDA_USER 使用 错误原因 当前表被 CDS View 引用&#xff0c;由 CDS View 生成的「视图」已占用当前表的相关字段然而生成的视图又…