vue階段案例,練習filter、map、forEach,雙向綁定,三元表達式,以及圖片滾動,文字跳動等等。

階段案例

通過案例來練習雙向綁定,三元表達式,以及圖片滾動,文字跳動等等。

代碼如下:

<template><table class="bjtp" ><div class="title" >{{title}}</div><div class="scroll-container"><div class="scroll-images"><img src="../assets/辣味魷魚絲.png" alt="Image 1"><span class="price">辣味魷魚絲¥10</span><img src="../assets/炭燒味魷魚絲.png" alt="Image 2"><span class="price">炭燒味魷魚絲¥12</span><img src="../assets/原味魷魚絲.png" alt="Image 3"><span class="price">原味魷魚絲¥15</span></div></div><ul><span style="color: red;"><strong>特價選購</strong></span><li v-for="food in foods"><img v-bind:src="food.image" class="imgs"><span>{{food.name}}</span><input type="checkbox" v-model="food.purchased"><span >{{  food.purchased ? "已選購" : "可選購" }}</span></li><li><input type="button" value="立即購買" style="width: 210px; color: black; background-color: red; height: 30px;"></li></ul></table></template><script setup>import {ref,reactive} from 'vue'let title = ref("歡迎來到老李店鋪")setTimeout(() => {title.value = "全場5折起"},3000)import image1 from '../assets/辣味魷魚絲.png';import image2 from '../assets/炭燒味魷魚絲.png';import image3 from '../assets/原味魷魚絲.png'; const foods = reactive([{id : 1, name:'麻辣味的魷魚¥10', image:image1, purchased:false},{id : 2, name:'炭燒味魷魚絲¥12', image:image2, purchased:false},{id : 3, name:'原味的魷魚絲¥15', image:image3, purchased:false}]);</script><!-- src="https://hbimg.b0.upaiyun.com/d66b778917183e2814ed97dcbf8feab0624912dc5d4e-Y37mMA_fw658" -->
url(https://img95.699pic.com/xsj/06/tu/dp.jpg%21/fw/700/watermark/url/L3hzai93YXRlcl9kZXRhaWwyLnBuZw/align/southeast)<style>.title{font-family: 仿宋;color: green;margin-top: 120px;margin-left: 75px;color: palevioletred;display: inline-block;animation: jump 2s infinite;}.bjtp{height: 1000px;width: 400px;background-image:url('../assets/image.png');background-size: 120%;background-repeat: no-repeat;margin-right: 20px;}.price{color: red;font-weight: bold;  /* 字體加粗 */}ul{list-style-type: none;margin-right: -30px;margin-top: 70px;}.imgs{width: 30px;height: 30px;margin-right: 10px;}.scroll-container {margin-top: 20px;margin-left: 110px;overflow: hidden;position: relative;height: 150px; /* 設置滾動區域的高度 */width: 260px;}.scroll-images {position: absolute;width: 100%;animation: scroll-up 20s linear infinite; /* 動畫名稱,持續時間,速率函數,循環次數 */}.scroll-images img {width: 100%;display: block;margin-bottom: 10px; /* 圖片之間的間隔 */}@keyframes scroll-up {from {transform: translateY(0);}to {transform: translateY(-100%); /* 根據容器高度調整 */}}  @keyframes jump {0%, 100% { opacity: 0; transform: translateY(-10px); }50% { opacity: 1; transform: translateY(0); }}.text-container {opacity: 0;transition: opacity 0.2s;}</style>

項目結構預覽:

在這里插入圖片描述

效果展示:

在這里插入圖片描述

對數組篩選過濾操作

let arr = [true, false, true, false]  /* 定義了一個數組 */
let arr2 = arr.filter(x => x)        /* filter常用在對數組的賽選或復制上,filter會把true的內容返回,并賦值給新數組arr2 */
console.log(arr2)
》》[true, true] let sum = [1, 2, 3, 4]  /* 定義了一個整數類型的數組 */
let arr3 = sum.filter(x => x <= 3 )   /* 此處設置了條件,會篩選出小于等于3的數字,并賦值給新數組arr3 */console.log(arr3)
》》[1, 2, 3]let arr4 = sum.map(x => x*2)   /* map多用于數組的計算,sum中每一個元素都乘以2,并賦值給新數組arr4 */
console.log(arr4)
》》[2, 4, 6, 8]let arr5 = sum.forEach(x => console.log(x)) /* forEach,不會有返回值,即無法給arr5賦值 */
》》1
》》2
》》3
》》4
console.log(arr5)
》》undefined  /* 證實了forEach 不會有返回值 */

利用filter的篩選功能可以替代for循環的一些操作,比如復制列表,循環輸出等。接下來通過filter可以賽選false和true的值的特性,做一個當商品被選購時,從商品列表加入到,購物籃的效果。是基于上一節的綜合案例而寫!

主要改動代碼如下:

  <section><ul><h1>可選購列表</h1><span style="color: red;"><strong>特價選購</strong></span><li v-for="food in foods.filter(x => ! x.purchased)" :key="food.id"><img v-bind:src="food.image" class="imgs"><span>{{food.name}}</span><input type="checkbox" v-model="food.purchased"><span class="duiqi">{{  food.purchased ? "已選購" : "可選購" }}</span></li></ul></section><section><ul><h1>已選購列表</h1><span style="color: red;"><strong>真香警告!!!</strong></span><li v-for="food in foods.filter(x => x.purchased)"><img v-bind:src="food.image" class="imgs"><span>{{food.name}}</span><input type="checkbox" v-model="food.purchased"><span class="duiqi">{{  food.purchased ? "已選購" : "可選購" }}</span></li><li><input type="button" value="立即購買" style="width: 210px; color: black; background-color: red; height: 30px;">   <button @click="Toclear">全部取消</button></li></ul></section>

效果截圖如下:

在這里插入圖片描述

接下來我想實現,全部選擇加入購物車,和全部取消的效果。。。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/10300.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/10300.shtml
英文地址,請注明出處:http://en.pswp.cn/web/10300.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【解決Android Studio】cmake報錯找不到vulkan包

1 報錯信息 CMake Error at D:/Android/project/cmake/3.10.2.4988404/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message): Could NOT find Vulkan (missing: Vulkan_LIBRARY) Call Stack (most recent call first): 2. 錯誤原因 minSdk版本不對&am…

18.Blender 渲染工程、打光方法及HDR貼圖導入

HDR環境 如何導入Blender的HDR環境圖 找到材質球信息 在右上角&#xff0c;點擊箭頭&#xff0c;展開詳細部分 點擊材質球&#xff0c;會出現下面一列材質球&#xff0c;將鼠標拖到第二個材質球&#xff0c;會顯示信息 courtyard.exr 右上角打開已渲染模式 左邊這里選擇世界…

動作識別 slowfast動作識別項目記錄

動作識別 slowfast動作識別項目記錄

如何在自己的服務器上快速搭建第一個網站(其一)

根據上篇文章相信很多人以及成功搭建服務器啦。今天我們講下如何在自己的服務器快速搭建第一個網站的一些重要配置&#xff0c;以及搭建網站的必備環境。干貨滿滿&#xff0c;希望大家能夠關注點贊收藏。 我會不定期更新一些實用的工具&#xff0c;歡迎大家私信評論喔&#xf…

12個網上賺錢野路子信息差,人人可做的賺錢小項目!

在這個多元化的時代&#xff0c;副業已經成為許多人增加收入、實現自我價值的重要途徑。今天&#xff0c;我們就來聊聊那些既有趣又能賺錢的副業項目&#xff0c;讓你的錢包鼓起來&#xff01; 1.文字創作 寫作不僅是情感的宣泄&#xff0c;更是財富的積累。無論是自媒體文、軟…

事件代理 淺談

事件代理是一種將事件處理委托給父元素或祖先元素來管理的技術。當子元素觸發特定事件時&#xff0c;該事件不會直接在子元素上進行處理&#xff0c;而是會冒泡到父元素或祖先元素&#xff0c;并在那里進行處理。這樣做的好處是可以減少事件處理函數的數量&#xff0c;提高性能…

VR智慧文旅:開啟“韻味”旅游季的新篇章

為了充分滿足游客的假日文化旅游需求&#xff0c;各地紛紛“解鎖”新花樣&#xff0c;沉浸式實景觀展震撼“出圈”。在數字化浪潮的推動下&#xff0c;文化旅游行業正經歷著變革&#xff0c;在萬物皆可沉浸的時代&#xff0c;VR智慧文旅燃起了不一樣的熱度。 許多業內人士認為&…

hdfs磁盤清理歷史數據

hdfs集群磁盤清理歷史數據流程如下&#xff1a; #可以查看web界面hdfs集群的磁盤使用率,并記錄下來,對比清理后的效果: 清理前 86.00% 194.24TB/225.85TB #統計warehouse目錄下的磁盤使用量(目前表都是建在該路徑下) hadoop fs -du -h /user/hive/warehouse #統計bak目錄下磁…

Tiff文件解析和PackBits解壓縮

實現了Tiff圖片文件格式的解析&#xff0c;對Tiff文件中的PackBits壓縮格式進行解壓縮&#xff0c;對Tiff文件中每一個Frame轉換成BufferedImage顯示。 Java語言實現&#xff0c;Eclipse下開發&#xff0c;AWT顯示圖片。 public static TIFF Parse(final byte[] bytes) throw…

Kubernetes 上搭建一個 Nginx 的 Pod,并確保傳入的 API 請求被均勻地分發到兩個 Java 業務 Pod 上

目錄 步驟一&#xff1a;創建兩個 Java 業務 Pod步驟二&#xff1a;創建一個 Nginx Pod步驟三&#xff1a;創建一個 Service步驟四&#xff1a;創建一個 Ingress注意事項 要在 Kubernetes 上搭建一個 Nginx 的 Pod&#xff0c;并確保傳入的 API 請求被均勻地分發到兩個 Java 業…

排序算法(Java版)

目錄 1、直接插入排序2、希爾排序3、直接選擇排序4、堆排序5、冒泡排序6、快速排序6.1 遞歸實現6.2 非遞歸實現 7、歸并排序7.1 遞歸實現7.2 非遞歸實現 8、性能分析 今天我們學習一種算法&#xff1a;排序算法&#xff08;本文的排序默認是從小到大順序&#xff09;&#xff0…

C++純C實現貪吃蛇小游戲

公眾號&#xff1a;編程驛站 #include <stdio.h> #include <windows.h> #include <stdlib.h> #include <time.h>//描述蛇的節點信息 typedef struct SnakeNode {int x;int y; } Snode;//箱子&#xff1a;放置蛇的所有節點 Snode snakes[100]; //保存…

滲透思考題

一&#xff0c;嘗試登錄。 客戶端對密碼進行哈希處理并緩存密碼hash&#xff0c;丟棄實際的明文密碼&#xff0c;然后將用戶名發送到服務器&#xff0c;發起認證請求 密文存儲位置&#xff1a;數據庫文件位于C:WindowsSystem32configsam&#xff0c;同時掛載在注冊表中的HKLMSA…

C語言【文件操作 1】

文章目錄 1.為什么使用文件2.文件是什么&#xff1f;2.1程序文件2.2數據文件 3.二進制文件和文本文件4.文件的打開和關閉4.1流和標準流流標準流 4.2文件指針4.3文件的打開和關閉 結語 1.為什么使用文件 很簡單 長久的存儲數據 如果沒有文件&#xff0c;我們寫程序所產生的數據…

商米-android-使用NFC讀IC卡,身份證云解和IC卡同時兼容

商米介紹地址&#xff1a;https://www.sunmi.com/ 商米是一個提供手持PDA的一個很好的解決方案廠商&#xff0c; 也有其他的一些桌面設備。 其中商米提供的軟件服務中&#xff0c;比較特別的是 身份證云解功能。 此處重點說明一下&#xff0c;身份證云解功能。 以往市面上的身…

Vue學習JSON.stringify()將Object類型轉換成String類型

Vue學習JSON.stringify&#xff08;&#xff09;將Object類型轉換成String類型 一、前言1、基本用法2、復雜對象轉換3、過濾器函數4、序列化函數 一、前言 JSON.stringify() 是一個 JavaScript 函數&#xff0c;用于將 JavaScript 值轉換為 JSON 字符串。它接受一個 JavaScrip…

深入探索MySQL視圖

前言 在數據庫的世界里&#xff0c;MySQL視圖作為數據抽象的一把利劍&#xff0c;為我們提供了一種靈活而高效的方式來管理和查詢數據。它不僅能夠簡化復雜的查詢邏輯&#xff0c;還能在不改動底層數據結構的前提下&#xff0c;實現數據的定制化展示與訪問控制。本文旨在深入解…

【小紅書采集工具】根據搜索關鍵詞批量采集小紅書筆記,含筆記正文、筆記鏈接、發布時間、轉評贊藏等

一、背景介紹 1.1 爬取目標 熟悉我的小伙伴都了解&#xff0c;我之前開發過2款軟件&#xff1a; 【GUI軟件】小紅書搜索結果批量采集&#xff0c;支持多個關鍵詞同時抓取&#xff01; 【GUI軟件】小紅書詳情數據批量采集&#xff0c;含筆記內容、轉評贊藏等&#xff0c;支持…

【C++】string類的使用①(默認成員函數 || 迭代器接口begin,end,rbegin和rend)

&#x1f525;個人主頁&#xff1a; Forcible Bug Maker &#x1f525;專欄&#xff1a; STL || C 目錄 前言&#x1f308;關于string類&#x1f308;string類的成員函數&#x1f525;默認成員函數string類對象的構造(constructor)string類對象的析構string類對象的賦值運算符…

NPOI生成word浮動圖標

1、NPOI版本2.7.0, net框架4.8 2、安裝OpenXMLSDKToolV25.msi 3、先創建一個word文檔&#xff0c;并設置圖片為浮于文字之上 4、OpenXML顯示的結果 5、實際代碼如下&#xff1a; public class GenerateWordDemo {public GenerateWordDemo(){}//https://blog.fileformat.co…