前端应用开发实验:Vue的特性

news2024/11/13 8:54:25

目录

  • 实验目的
  • 实验内容
    • 图片浏览功能
      • 代码实现
      • 效果
    • 简单购物车功能
      • 代码实现
      • 效果
    • 汇率换算功能
      • 代码实现
      • 效果

关于需要准备的内容,如Vue的下载就不多赘述了

实验目的

(1)掌握vue实例编写的语法和基本选项的使用

(2)在实际情境中灵活运用计算属性和监听属性

(3)理解vue的数据绑定相关指令,且在实际中灵活运用

实验内容

图片浏览功能

1.图片浏览功能实现:点击上下翻页按钮,实现图片浏览。
在这里插入图片描述

代码实现

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>图片浏览器</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            background-color: #f4f4f4;
            margin: 0;
            padding: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
        }
        #app {
            text-align: center;
        }
        button {
            padding: 10px 20px;
            margin: 10px;
            background-color: #4CAF50;
            color: #fff;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            transition: background-color 0.3s;
        }
        button:hover {
            background-color: #45a049;
        }
        img {
            max-width: 100%;
            height: auto;
            margin: 20px 0;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }
    </style>
</head>
<body>
    <div id="app">
        <button v-on:click="left">上一张</button>
        <img :src="imgUrl[index]">
        <button v-on:click="right">下一张</button>
        <br>
        <button v-on:click="goods">购物车</button>
        <button v-on:click="money">美元换算</button>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
    <script type="text/javascript">
        new Vue({
            el:'#app',
            data:{
                index:0,
                imgUrl:[
                    "image1.jpg",//这里填写自己的存放的图片,不过用网络图片的url也可以
                    "https://th.bing.com/th/id/OIP.LHrQijaTBDxVvYZH1d_pYQHaEB?w=322&h=180&c=7&r=0&o=5&dpr=1.3&pid=1.7",//这里是网络上的一张图片的url
                    "pic3.jpg",
                ]
            },
            methods: {
                left:function(){
                    if(this.index > 0) {
                        this.index--;
                    }
                },
                right:function(){
                    if(this.index < this.imgUrl.length - 1) {
                        this.index++;
                    }
                },
                money:function(){
                    const nextPageUrl = 'http://localhost:5176/money'; // 替换为您想要跳转的网址
                    window.location.href = nextPageUrl;
                },
                goods:function(){
                    const nextPageUrl = 'http://localhost:5176/shopping'; // 替换为您想要跳转的网址
                    window.location.href = nextPageUrl;
                }
            },
        })
    </script>
</body>
</html>

效果

在这里插入图片描述
点击下一张就可以切换到另一张图片

简单购物车功能

2.简单购物车功能实现:要求计算出每种商品的总价和所有商品合计价格(要求精确到小数点后一位)
在这里插入图片描述

代码实现

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>简单购物车</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
</head>
<body>
<div id="app">
  <div class="panel panel-info">
    <div class="panel-heading">
      <h3 class="panel-title">宝珠兑换</h3>
    </div>
    <div class="panel-body">
      <div class="checkbox">
        <label>
          <input type="checkbox" v-model="checkAll">
          全选
        </label>
      </div>
      <ul class="list-group">
        <li class="list-group-item" v-for="(item, index) in list" :key="item.id">
          <div class="checkbox">
            <label>
              <input type="checkbox" v-model="item.checked">
              {{ item.name }}--{{ item.price }}*{{ item.quantity }}
              <button type="button" @click="item.quantity>1?item.quantity-=1:1"
                class="btn btn-success">-</button>
              <button type="button" @click="item.quantity+=1" class="btn btn-success">+</button>
            </label>
          </div>
        </li>
      </ul>
      <p>总价:{{ sumPrice }}</p>
    </div>
  </div>
</div>

<script>
new Vue({
  el: "#app",
  data: {
    list: [
      {
        id: 1,
        name: "界徐盛",
        price: 20,
        checked: false,
        quantity: 1
      },
      {
        id: 2,
        name: "神郭嘉",
        price: 101,
        checked: false,
        quantity: 1
      },
      {
        id: 3,
        name: "神甘宁",
        price: 70,
        checked: false,
        quantity: 1
      },
      {
        id: 4,
        name: "文鸯",
        price: 50,
        checked: false,
        quantity: 1
      }
    ]
  },
  computed: {
    checkAll: {
      set(v) {
        this.list.forEach(item => item.checked = v);
      },
      get() {
        return this.list.length === this.list.filter(item => item.checked).length;
      }
    },
    sumPrice() {
      return this.list.filter(item => item.checked).reduce((pre, cur) => {
        return pre + cur.price * cur.quantity;
      }, 0);
    }
  },
  methods: {
    save() {
      console.log(this.list.filter(item => item.checked));
    }
  }
});
</script>
</body>
</html>

效果

在这里插入图片描述
在这里插入图片描述

汇率换算功能

3.汇率换算功能实现:要求实现人民币和美元的兑换。
在这里插入图片描述

代码实现

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>汇率换算器</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
</head>
<body>
<div id="app">
  <h2>汇率换算器</h2>
  <div>
    <label for="rmb">人民币 (CNY):</label>
    <input type="number" id="rmb" v-model.number="rmb">
  </div>
  <div>
    <label for="usd">美元 (USD):</label>
    <input type="number" id="usd" v-model.number="usd">
  </div>

<p>1美元等于{{ exchangeRate }}人民币</p>
</div>

<script>
new Vue({
  el: '#app',
  data: {
    rmb: 0,
    usd: 0,
    youka:0,
    exchangeRate: 6.45 // 假设的汇率,需要从实时API获取
    
  },
  watch: {
    rmb(newVal) {
      this.usd = newVal / this.exchangeRate;
    },
    usd(newVal) {
      this.rmb = newVal * this.exchangeRate;
    }
  }
});
</script>
</body>
</html>

效果

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

【漏洞复现】5. Fastjson 1.2.24反序列化漏洞(CVE-2017-18349)复现

文章目录 1. 预备知识2. 漏洞复现2.1 漏洞介绍2.2 漏洞原理分析2.2.1 Fastjson序列化/反序列化原理2.2.2 Fastjson反序列化漏洞原理 2.3 实验环境2.3.1 靶场搭建 2.3.2 攻击机配置2.3.3 Java反序列化工具marshalsec&#xff1a;2.4 漏洞复现2.4.1 漏洞探测 2.5 漏洞修复 1. 预备…

Linux:离线安装 jdk-8(配置Java环境)

Linux&#xff1a;离线安装 jdk-8&#xff08;配置Java环境&#xff09; 1、jdk简介2、检查已安装的Java版本&#xff0c;并卸载3、准备安装包4、解压安装包、进行安装5、设置环境变量(全局/个人) &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f…

数据库系统概论-第12章 数据库管理系统

12.1 数据管理系统的基本功能 12.2 数据库管理系统的系统结构 12.3 语言处理层 12.4 数据存取层 12.5 缓冲区管理 12.6 数据库的物理组织 12.7 小结

docker方式进行pytorch多机多卡分布式训练

docker ip共享与gpu指定 1)ip共享 docker网络有多种,这里选择host直接用宿主机的ip 2)指定gpu docker方式进行pytorch多机多卡分布式训练 nvidia docker 容器介绍链接:https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes/ docker用的nvidia官方镜像…

5G里面NR,gNB,en-gNB,ng-eNB是什么意思

不得不提一个国际组织&#xff0c;叫国际电信联盟(ITU, International Telecommunication Union)&#xff0c;简称国际电联。我们先看看国际电联的自我介绍&#xff1a; 国际电信联盟 『国际电联 (国际电信联盟) 是主管信息通信技术事务&#xff08;ICT&#xff09;的联合国机…

Jmeter-基础元件使用(二)-属性及对数据库简单操作

一、Jmeter属性 当我们想要在不同线程组中使用某变量&#xff0c;就需要使用属&#xff0c;此时Jmeter属性的设置需要函数来进行set和get操作 1.创建set函数 2.然后采用Beanshell取样器进行函数执行 3.调用全局变量pro_id 4.将上面生成的函数字符串粘贴到另一个线程组即可…

全球首个AI程序员诞生,码农饭碗一夜被砸!10块IOI金牌华人团队震撼打造,996写代码训练模型

全球首位AI软件工程师Devin诞生了&#xff0c;它掌握全栈技能&#xff0c;云端部署、底层代码、改bug、训练和微调AI模型都不在话下。最可怕的是&#xff0c;它完全不怕996&#xff0c;老黄的预言是彻底成真了&#xff01; 就在刚刚&#xff0c;世界上第一位AI程序员Devin诞生…

AI程序员已诞生,如何保住自己饭碗?

一、背景 全球首位AI程序员Devin的诞生无疑引发了业界对职业前景和人工智能影响的热烈讨论。AI程序员的出现确实预示着人工智能技术在编程领域的重大突破&#xff0c;它们能够进行自主学习、修复bug、掌握全栈技能&#xff0c;并且在特定场景下展现出了替代部分人类程序员工作…

Windows创建Linux虚拟环境-WSL

使用工具WSL 官方安装使用文档 安装 WSL | Microsoft Learn 开始通过 WSL 使用 VS Code | Microsoft Learn 具体过程 1. cmd以“管理员身份运行”&#xff0c;执行以下指令&#xff0c;安装完成后&#xff0c;电脑重启&#xff0c;安装完成生效。 wsl --install 2. 查看…

基于yolov5的单目测距实现与总结+相机模型+标定

写这篇文章的目的是为了总结我之前看的标定&#xff0c;相机模型以及单目测距的内容&#xff0c;如果有错误&#xff0c;还请不吝赐教。 参考链接&#xff1a; 相机模型、相机标定及基于yolov5的单目测距实现 深度学习目标检测目标追踪单目测距 单目测距代码部署&#xff08;目…

jmeter的函数助手使用方法

如某个上传文件接口&#xff0c;一个文件只能同时被一个接口调用&#xff0c;如果被并发同时调用就会报错 创建多个测试文件 比如50并发&#xff0c;创建更多的文件防止并发多时随机数生成重复 生成随机数函数 工具–函数助手-选择random-输入范围&#xff08;1-696&#…

在阿里云服务器添加ssh,方便远程登录

前言&#xff1a; 添加ssh密钥步骤&#xff1a; chmod 700 .ssh #创建ssh cd .ssh chmod 700 authorized_keys #添加权限密钥 vim authorized_keys #编辑密钥 添加本地电脑ssh密钥 vim /etc/ssh/sshd_config #更改ssh配置文件 配置文件 # no default banner path #Banner no…

[Qt学习笔记]Qt使用MFC编译生成dll库在无编程环境电脑出现无法加载dll的问题

目录 1、 问题介绍2、 问题分析3、 问题总结和思考 1、 问题介绍 在项目实践中&#xff0c;使用Qt调用了一个vs创建的dll库&#xff0c;在本机上编译和release后的exe可以加载对应的dll文件&#xff0c;将exe拷贝到有vs编程环境的电脑上也可以加载对应的dll文件&#xff0c;但…

开篇介绍——蓝桥赛前冲刺(JavaB组)

开篇介绍 蓝桥杯赛事时间安排 专栏内容介绍 在接下来的几天时间内&#xff0c;老汉会不间断的更新该专栏&#xff0c;主要针对蓝桥杯B组赛事高频考点的复习巩固&#xff0c;其中包括老汉认为较优质的算法讲解&#xff08;文章、视频&#xff09;&#xff0c;以及对应的真题、…

GPU 使用率监测及可视化

1. 使用 nvidia-smi可视化 直接在终端输入nvidia-smi动态查看GPU的使用情况watch -n 0.5 nvidia-smi其中0.5表示每隔0.5秒更新一次,时间可以调整 2. 使用nvitop可视化 2.1 nvitop的使用 (1) 安装 pip install nvitop(2) 查看GPU使用率 nvitop

全覆盖路径规划开源项目Clean-robot-turtlebot3原理及流程概括总结

本系列文章主要介绍全覆盖路径规划开源项目Clean-robot-turtlebot3的相关内容&#xff0c;包含如下四篇文章&#xff0c;分别介绍了开源项目Clean-robot-turtlebot3流程的概括总结、ROS坐标系常用坐标及其变换、Clean-robot-turtlebot3关键函数解析等内容。 1、全覆盖路径规划开…

第八篇【传奇开心果系列】Python自动化办公库技术点案例示例:深度解读使用Python库清洗处理从PDF文件提取的文本

传奇开心果博文系列 系列博文目录Python自动化办公库技术点案例示例系列 博文目录前言一、Python清洗处理文本的常见步骤二、使用Python库去除非文本元素示例代码三、使用Python库去除格式化元素的示例代码四、使用Python库去除空白字符示例代码五、使用Python库合并段落和行示…

制造业工厂为什么需要生产管理MES系统

一、制造业的生产管理需求与痛点 日趋激烈的市场竞争、客户对产品多样化要求越来越高&#xff0c;导致产品的生命周期缩短&#xff0c;企业需要通过智能制造实现降本、增效、提质&#xff0c;以提高企业的快速响应能力和核心竞争力。 二、生产管理的过程的痛点具体表现如下&am…

ai写作润色工具有哪些?工具大盘点!

ai写作润色工具有哪些&#xff1f;在内容创作日益繁荣的今天&#xff0c;无论是今日头条还是百家号自媒体平台&#xff0c;一篇好的文章往往能吸引大量的读者。而一篇好的文章&#xff0c;除了内容有深度、观点独到之外&#xff0c;还需要有吸引人的标题和流畅、生动的文笔。这…

【大数据】三、HDFS 基础原理

HDFS HDFS 是一种典型的分布式文件系统&#xff0c;但其不是唯一的分布式文件系统 HDFS 是一种新型的文件系统&#xff0c;不同于传统的文件系统&#xff0c;新型文件系统解决了传统文件系统存在的负载不均衡与网络瓶颈问题。 但归根结底、这些弊端都是由传统文件系统所存在…