【Vue】案例——To do list:

【Vue】案例——To do list:

  • 一、案例介紹:
  • 二、效果展示(如圖)
  • 三、主要功能:
  • 四、技術要點:
      • 補充:【Vue】Vue模板語法(點擊可跳轉)
      • 補充:【Vue】數據綁定(單雙向)(點擊可跳轉)
  • 五、代碼解析:
      • 1.body部分
      • 2.script部分
      • 3.CSS樣式部分

一、案例介紹:

這個案例是一個簡單的待辦事項列表(To Do List)應用,使用了 Vue.js 框架來實現動態數據綁定和交互功能。用戶可以在輸入框中輸入待辦事項,并通過點擊“增加”按鈕將其添加到列表中。待辦事項會以列表的形式展示在頁面上,用戶還可以通過點擊“刪除”鏈接來移除特定的事項。

二、效果展示(如圖)

在這里插入圖片描述

三、主要功能:

1.添加待辦事項:用戶輸入內容并點擊“增加”按鈕,內容會被添加到待辦事項數組中;
2.刪除待辦事項:用戶可以點擊每個事項旁邊的“刪除”鏈接來移除該事項;
3.輸入驗證:在添加事項時,應用會檢查輸入是否為空或是否已存在于列表中,并給出相應的提示;

四、技術要點:

1.使用 Vue.js 進行數據綁定和事件處理;
2.利用 v-model 指令實現輸入框與數據的雙向綁定;
3.使用 v-for 指令動態渲染待辦事項列表;

補充:【Vue】Vue模板語法(點擊可跳轉)

補充:【Vue】數據綁定(單雙向)(點擊可跳轉)

五、代碼解析:

1.body部分

在這里插入圖片描述

<body><div id='app'><div class="box"><!-- 如何獲取輸入框內容,如何將獲取到的內容展示到頁面上 【將內容保存到數組中去】--><h3>To do list</h3><div class="list_con"><input type="text" v-model="txt"><button @click="add()">增加</button></div><div class="list"><!-- 連續出現的標簽、標簽塊1.將標簽、標簽塊重寫一遍2.將重復出現的標簽、標簽塊里面的“內容”保存到數組中去3.將v-for寫在重復出現標簽、標簽塊身上--><ul><li v-for="item in arr"><span>{{item}}</span><!-- 點擊刪除時候如何指定元素 --><a href="javascript:;" @click="del(index)">刪除</a></li></ul></div></div></div></body>

2.script部分

在這里插入圖片描述

<script>new Vue({el: '#app',data: {txt: "",    // 保存input框的內容arr: ["學習html", "學習css", "學習javascript"]},methods: {// 增加功能add() {// this.txt    // 輸入框輸入的內容// push:將內容添加到數組最后一項   pop:刪除數組最后一項// unshift:將內容添加到數組最前面一項   shift:刪除數組最前面一項if (this.txt.trim() == '') {alert("請輸入內容,再進行添加!")return} else if (this.arr.includes(this.txt.trim())) {alert("該內容已存在,請重新輸輸入其他內容")this.txt = ''} else {this.arr.unshift(this.txt)this.txt = ''}},// 刪除功能// 定義函數給形參,調用函數給實參del(index) {// splice(操作的元素的索引值,刪除個數,添加的內容)this.arr.splice(index, 1);}}})
</script>

3.CSS樣式部分

在這里插入圖片描述

    <style>.box {margin: 10px auto;width: 600px;}.list_con input {width: 540px;}.list ul {padding: 0;}.list li {list-style: none;border-bottom: 1px solid #ccc;padding: 15px 0;}.list li a {float: right;text-decoration: none;}</style>
  • 案例——To do list整體代碼如下:
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>To do list2</title><script src="https://cdn.jsdelivr.net/npm/vue@2.7.16/dist/vue.js"></script><style>.box {margin: 10px auto;width: 600px;}.list_con input {width: 540px;}.list ul {padding: 0;}.list li {list-style: none;border-bottom: 1px solid #ccc;padding: 15px 0;}.list li a {float: right;text-decoration: none;}</style>
</head><body><div id='app'><div class="box"><!-- 如何獲取輸入框內容,如何將獲取到的內容展示到頁面上 【將內容保存到數組中去】--><h3>To do list</h3><div class="list_con"><input type="text" v-model="txt"><button @click="add()">增加</button></div><div class="list"><!-- 連續出現的標簽、標簽塊1.將標簽、標簽塊重寫一遍2.將重復出現的標簽、標簽塊里面的“內容”保存到數組中去3.將v-for寫在重復出現標簽、標簽塊身上--><ul><li v-for="item in arr"><span>{{item}}</span><!-- 點擊刪除時候如何指定元素 --><a href="javascript:;" @click="del(index)">刪除</a></li></ul></div></div></div></body>
<script>new Vue({el: '#app',data: {txt: "",    // 保存input框的內容arr: ["學習html", "學習css", "學習javascript"]},methods: {// 增加功能add() {// this.txt    // 輸入框輸入的內容// push:將內容添加到數組最后一項   pop:刪除數組最后一項// unshift:將內容添加到數組最前面一項   shift:刪除數組最前面一項if (this.txt.trim() == '') {alert("請輸入內容,再進行添加!")return} else if (this.arr.includes(this.txt.trim())) {alert("該內容已存在,請重新輸輸入其他內容")this.txt = ''} else {this.arr.unshift(this.txt)this.txt = ''}},// 刪除功能// 定義函數給形參,調用函數給實參del(index) {// splice(操作的元素的索引值,刪除個數,添加的內容)this.arr.splice(index, 1);}}})
</script></html>

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

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

相關文章

導入 .sql 文件到 云服務器上的MySQL中

導入 .sql 文件到 云服務器上的MySQL中 步驟 1&#xff1a;確保 .sql 文件已上傳到云服務器步驟 2&#xff1a;登錄到云服務器步驟 3&#xff1a;檢查文件是否成功傳輸步驟 4&#xff1a;登錄 MySQL步驟 5&#xff1a;創建空數據庫&#xff08;如果尚未創建&#xff09;步驟 6&…

我的機器學習之路(初稿)

文章目錄 一、機器學習定義二、核心三要素三、算法類型詳解1. 監督學習&#xff08;帶標簽數據&#xff09;2. 無監督學習&#xff08;無標簽數據&#xff09;3. 強化學習&#xff08;決策優化&#xff09;(我之后主攻的方向) 四、典型應用場景五、學習路線圖六、常見誤區警示七…

VueDOMPurifyHTML 防止 ??XSS(跨站腳本攻擊)?? 風險

VueDOMPurifyHTML 是一個 ??Vue.js 插件??&#xff0c;用于在 v-html 指令中安全地渲染 HTML 內容&#xff0c;防止 ??XSS&#xff08;跨站腳本攻擊&#xff09;?? 風險。 ??作用?? ??解決 v-html 的安全問題?? Vue 的 v-html 會直接渲染原始 HTML&#xff0…

【數據結構】之散列

一、定義與基本術語 &#xff08;一&#xff09;、定義 散列&#xff08;Hash&#xff09;是一種將鍵&#xff08;key&#xff09;通過散列函數映射到一個固定大小的數組中的技術&#xff0c;因為鍵值對的映射關系&#xff0c;散列表可以實現快速的插入、刪除和查找操作。在這…

How AI could empower any business - Andrew Ng

How AI could empower any business - Andrew Ng References 人工智能如何為任何業務提供支持 empower /?m?pa??(r)/ vt. 授權&#xff1b;給 (某人) ...的權力&#xff1b;使控制局勢&#xff1b;增加 (某人的) 自主權When I think about the rise of AI, I’m reminded …

微服務的服務調用詳解以及常見解決方案對比

微服務服務調用詳解 1. 服務調用分類 服務調用根據通信方式、同步性、實現模式可分為以下類型&#xff1a; 按通信協議分類 類型典型協議/框架特點RPC&#xff08;遠程過程調用&#xff09;Dubbo、gRPC、Apache Thrift高性能、二進制協議、強類型定義HTTP/RESTSpring RestTe…

MySQL:B+樹索引

InnoDB索引方案 為了使用二分法快速定位具體的目錄項&#xff0c;假設所有目錄項都可以在物理存儲器上連續存儲&#xff0c;有以下問題&#xff1a; InnoDB使用頁為管理存儲空間的基本單位&#xff0c;最多只能保證16KB的連續存儲空間&#xff0c;記錄數據量多可能需要非常大…

THCON 2025

Crypto OTPas_ouf 用10個字符異或加密的jpg圖片&#xff0c;通過頭得到key再恢復原圖 Mammoths Personnal Slot Machine 梅森旋轉恢復 from pwn import * from randcrack import RandCrack from tqdm import trange context.log_level errorp remote(74.234.198.209, 33…

3.8 字符串的常用函數

重點&#xff1a;字符串的常用函數 #1.測試轉換大小寫 lower:大寫->小寫 upper&#xff1a;小寫->大寫 swapcase&#xff1a;自動將大寫轉小寫小寫轉大寫 print("ABC".lower()) #abcprint("abc".upper()) #ABCprint…

Docker:SkyWalking 鏈路追蹤的技術指南

1、簡述 Apache SkyWalking 是一個開源的 APM(應用性能監控)工具,能夠實現分布式系統的全鏈路監控、性能分析以及服務依賴關系分析。SkyWalking 支持多種語言的探針,提供強大的可視化監控和分析能力,是微服務架構下性能調優和問題排查的利器。 樣例代碼: https://gitee.…

[Lc] 最長公共子序列 | Fenwick Tree(樹狀數組):處理動態前綴和

目錄 LCR 095. 最長公共子序列 題解 Fenwick Tree&#xff08;樹狀數組&#xff09;&#xff1a;處理動態前綴和 一、問題背景&#xff1a;當傳統方法遇到瓶頸 二、Fenwick Tree核心設計 2.1 二進制索引的魔法 2.2 關鍵操作解析 更新操作&#xff08;O(log n)&#xff0…

python3.13.0環境安裝及python-docx庫安裝指南

1. Python環境安裝 1.1 Windows系統安裝Python 下載Python安裝包 ? 訪問Python官網 ? 點擊"Download Python 3.x.x"&#xff08;推薦使用3.8及以上版本&#xff09; 2. 運行安裝程序 ? 雙擊下載的安裝包 ? 重要&#xff1a;勾選"Add Python to environmen…

前端VUE框架理論與應用(4)

一、計算屬性 模板內的表達式非常便利,但是設計它們的初衷是用于簡單運算的。在模板中放入太多的邏輯會讓模板過重且難以維護。例如: <div id="example">{{ message.split().reverse().join() }}</div> 在這個地方,模板不再是簡單的聲明式邏輯。你…

MySQL:存儲函數和存儲過程

系列文章目錄 1.MySQL編程基礎 2.程序控制流語句 3.存儲過程 4.游標 5.嵌入式SQL 文章目錄 系列文章目錄前言一、程序控制流語句&#xff1a;二、存儲函數&#xff1a; 1.存儲函數的特點&#xff1a;2.存儲函數的定義&#xff1a;3.調用存儲函數 三、存儲過程&#xff1a;…

基礎貪心算法集合2(10題)

目錄 1.單調遞增的數字 2.壞了的計算器 3.合并區間 4.無重疊區間 5. 用最少數量的箭引爆氣球 6.整數替換 解法1&#xff1a;模擬記憶化搜索 解法2位運算貪心 7.俄羅斯套娃信封問題 補充.堆箱子 8.可被3整除的最大和 9.距離相等的條形碼 10.重構字符串 1.單調遞增的數字…

RaabitMQ 快速入門

&#x1f389;歡迎大家觀看AUGENSTERN_dc的文章(o゜▽゜)o☆?? &#x1f389;感謝各位讀者在百忙之中抽出時間來垂閱我的文章&#xff0c;我會盡我所能向的大家分享我的知識和經驗&#x1f4d6; &#x1f389;希望我們在一篇篇的文章中能夠共同進步&#xff01;&#xff01;&…

語音識別——根據聲波能量、VAD 和 頻譜分析實時輸出文字

SenseVoiceSmall網絡結構圖 ASR(語音識別)是將音頻信息轉化為文字的技術。在實時語音識別中,一個關鍵問題是:如何決定將采集的音頻數據輸入大模型的最佳時機?固定時間間隔顯然不夠靈活,太短可能導致頻繁調用模型,太長則會延遲文字輸出。有沒有更智能的方式?答案是肯定…

AI大模型如何重塑科研范式:從“假說驅動”到“數據涌現”

??個人主頁??:慌ZHANG-CSDN博客 ????期待您的關注 ???? 一、引言:科研進入“模型共研”時代 傳統科研范式通常以“假設→實驗→驗證→理論”的方式推進,這一經典路徑建立在人類的認知能力與邏輯推理基礎上。然而,隨著數據規模的爆炸式增長與知識系統的高度復雜…

使用Python寫入JSON、XML和YAML數據到Excel文件

在當今數據驅動的技術生態中&#xff0c;JSON、XML和YAML作為主流結構化數據格式&#xff0c;因其層次化表達能力和跨平臺兼容性&#xff0c;已成為系統間數據交換的通用載體。然而&#xff0c;當需要將這類半結構化數據轉化為具備直觀可視化、動態計算和協作共享特性的載體時&…

面試題:Eureka和Nocas的區別

Eureka 與 Nacos 核心區別對比 一、功能定位與核心能力 ?維度??Eureka??Nacos??核心功能?專注服務注冊與發現&#xff0c;無配置管理功能?:ml-citation{ref“1,3” data“citationList”}集成服務注冊、發現、配置管理、動態DNS等?:ml-citation{ref“1,3” data“c…