Vue的常見指令

目錄

1.v-bind

2. class綁定

3.style綁定

4.v-if/v-show

?


1.v-bind

????????v-bind指令用于綁定屬性 可以簡寫成 “? ?:”

? ? ? ? 它的作用就是我們可以動態的定義屬性的值,比如常見的<img src = "1.jpg">

? ? ? ? 我們如果想要修改圖片就需要獲取到DOM對象,然后再重新填充,但是如果使用v-bind,

? ? ? ? 我們就可以動態的生成src屬性值。

下面我們將實現圖片切換的效果:

<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" ><img v-bind:src = "path" :style="{width:width , height:height}"><br><button @click = "change()">切換圖片</button></div><script type="text/javascript" src="vue.global.js"></script><script>// 1.創建appconst app = Vue.createApp({// data: option apidata: function() {return {path:"images/1.jpg",width:100,height:100}},methods:{change(){if(this.path==="images/1.jpg"){this.path = "images/2.jpg"}else{this.path = "images/1.jpg"}}}})// 2.掛載appapp.mount("#app")</script>
</body>
</html>

它的邏輯關系如下:

所以說,vue主要是實現對數據的操作,而js是對DOM對象的操作

?

2. class綁定

? ? ? ? class是表示類選擇器,常用的還有id選擇器等。

? ? ? ? v-bind同樣可以綁定class,只是寫法略有不同。

? ? ? ? 接下來,我們實現經常在網頁上看見的多選項選擇時,選到哪個,哪個就會高亮顯示。

? ? ? ? 代碼如下:

<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><style>li{width: 50px;height: 25px;display: block;float: left;background-color: #999;border: 1px solid;padding-left: 5px;}.red{background-color: red;}</style><div id="app"><ul><li :class="{red:num==1}" @click = "change(1)">選項1</li><li :class="{red:num==2}" @click = "change(2)">選項2</li><li :class="{red:num==3}" @click = "change(3)">選項3</li></ul></div><script type="text/javascript" src="vue.global.js"></script><script>// 1.創建appconst app = Vue.createApp({// data: option apidata: function() {return {num:1}},methods:{change(num){this.num = num}}})// 2.掛載appapp.mount("#app")</script>
</body>
</html>

? ? ? ? 執行邏輯如下:

3.style綁定

? ? ? ? style表示樣式,同樣我們也可以用vue綁定style,實現樣式屬性的動態生成。

我們實現一個按鈕控制一個div盒子的長寬高,顏色等樣式,示例如下:

<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><style>li{width: 40px;height: 20px;border: 2px , solid;background-color: #999;float: left;display: block;}#context{clear: both;border: 1px solid;width: 100px;height: 100px;background-color: aqua;margin-left: 40px;}li:hover{background-color: red;}</style><div id="app"><ul><li @click = "change(0)">變寬</li><li @click = "change(1)">變高</li><li @click = "change(2)">變色</li><li @click = "change(3)">隱藏</li><li @click = "change(4)">重置</li></ul><div id="context"  :style="{width:width , height:height,'background-color':color,display:none}"></div></div><script type="text/javascript" src="../vue.global.js"></script><script>// 1.創建appconst app = Vue.createApp({// data: option apidata: function() {return {width:100 , height:100 , color:'aqua' , none:'block'}},methods:{change(num){if(num==0){this.width = this.width+10}if(num==1){this.height = this.height+10}if(num ==2){this.color = 'red' ; }if(num==3){this.none = 'none' ; }if(num==4){this.width = 100 ; this.height = 100 ; this.color = 'aqua';this.none = 'block'}}}})// 2.掛載appapp.mount("#app")</script>
</body>
</html>

?實現邏輯:

效果展示:

4.v-if/v-show

????????v-if 指令 條件渲染.如果條件為true,那么它會生成一個DOM元素并且插入;

? ? ? ? 如果為false,那么直接連DOM元素都不生成。

? ? ? ? v-show作用和v-if一樣,只是當它為true或者false都會生成DOM對象;

? ? ? ? 只是當然為false時,會把DOM對象隱藏起來。

示例:實現點擊哪個按鈕顯示對應的內容,其他的內容會被隱藏,效果如下:

實現代碼如下:

<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>使用v-if實現元素的顯示與隱藏</title>
</head>
<body><style>.red{background-color: red;}ul , li{float: left;display: block;margin-left: 10px;background: color #999;}li{border: 1px red;height: 30px;width: 100px;text-align: center;}li:hover{background-color: red;}#context{clear: both;}</style><div id="title"><ul><li :class="{red:flag==0}" @click ="change(0)">清純男大</li><li :class="{red:flag==1}" @click="change(1)">油膩騷男</li><li :class="{red:flag==2}" @click="change(2)">懷院校草</li></ul><ul id="context"><li v-if="flag==0">劉馳宇</li><li v-if="flag==1">李杭濤</li><li v-show="flag==2">黃嘉樂</li></ul></div><script type="text/javascript" src="../vue.global.js"></script><script>// 1.創建appconst app = Vue.createApp({// data: option apidata: function() {return{flag : 0}},methods:{change(flag){this.flag = flag;}}})// 2.掛載appapp.mount("#title")</script>
</body>
</html>

主要邏輯如下:

?

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

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

相關文章

新興市場游戲產業爆發 傳音以技術搶抓機遇

隨著年輕人口的增加以及互聯網的普及&#xff0c;非洲、中東等新興市場正迎來游戲產業的大爆發&#xff0c;吸引著全球游戲企業玩家在此開疆辟土。中國出海企業代表傳音以新興市場需求為中心&#xff0c;秉持本地化創新理念不斷加強游戲等關鍵領域技術攻關憑借移動終端設備為全…

藍卓創始人褚健:工業互聯網平臺技術賦能中小企業數字化轉型的實施路徑

工業4.0是由工業軟件驅動的工業革命&#xff0c;與傳統厚重的工業軟件不同&#xff0c;supOS就好比嵌入工廠的“安卓系統”。如果把一個工廠當作一臺手機&#xff0c;因為有安卓或蘋果開放的操作系統&#xff0c;吸引了全世界聰明的人開發了大量APP供人們使用&#xff0c;手機才…

Backend - visual studio 安裝配置運行

目錄 一、安裝 &#xff08;一&#xff09;visual studio的內存需求很大&#xff01; &#xff08;二&#xff09;自定義工具和SDK的安裝位置 1. 菜單欄搜索regedit&#xff0c;進入注冊表編輯器 2. 修改SharedInstallationPath項的路徑 3. 重啟電腦 4. 重新打開visual studio …

物聯網系統中市電電量計量方案(二)

上文我們主要介紹了電量計量中最重要的組成部分——電量計量芯片&#xff08;如果沒有閱讀該文章的&#xff0c;可以點擊這里&#xff09;。本文會再為大家介紹電量計量的另外一個組成部分——電流互感器。 電流互感器的定義 電流互感器是一種可將一次側大電流轉換為二次側小電…

智慧校園科研管理:論文管理提升學術影響力

在智慧校園科研管理平臺中&#xff0c;論文信息管理模塊扮演著連接學術創新與管理效率的橋梁角色&#xff0c;它精心設計了一系列功能&#xff0c;旨在促進學術成果的高效記錄、跟蹤、分享與評估&#xff0c;為科研工作者、管理人員及全體師生構建了一個協同合作的學術生態環境…

printJS實現打印圖片和pdf

下載依賴 npm install print-js --save 引入 import printJS from print-js <el-dialog title"提示" :visible.sync"dialogVisible" width"30%" :before-close"handleClose"><span slot"footer" class"dia…

L1和L2正則化的區別是什么?

L1和L2正則化的區別是什么&#xff1f; L1和L2正則化都是機器學習中用于防止過擬合的技術&#xff0c;它們通過向模型的損失函數添加一個懲罰項來鼓勵模型參數的稀疏性或平滑性。 L1 正則化&#xff08;也稱為 Lasso 正則化&#xff09;&#xff1a; 它對模型的權重施加一個…

應用TensorFlow簡單工作流程

TensorFlow 是一個開源的機器學習框架&#xff0c;由 Google 的 Google Brain 團隊開發。它提供了一個靈活的、強大的生態系統來構建和部署機器學習模型&#xff0c;無論是用于研究還是生產環境中。TensorFlow 的設計目標是使構建和訓練深度學習模型變得容易&#xff0c;同時保…

藍卓創始人褚健:未來工廠需要一個“工業安卓”

作為國內自動控制的科學家&#xff0c;過去近三十年的時間&#xff0c;褚健教授一直服務于化工行業、煉油石化等流程工業領域。褚健表示&#xff0c;因為涉及到安全生產和環保要求&#xff0c;流程工業企業的自動化水平高一些&#xff0c;但總體來看&#xff0c;目前中國大部分…

原生小程序生成二維碼并保存到本地

需求&#xff1a;我要在一個頁面中生成一個二維碼&#xff0c;并且這個二維碼可以長按保存到本地或者發送給好友&#xff1b; 我這里是將生成的canvas二維碼轉換成圖片&#xff0c;利用長按圖片進行保存或轉發 效果圖&#xff1a; 第一步先下載對應的包&#xff1a; npm instal…

防火墻綜合實驗1

實驗拓撲圖&#xff1a; 實驗需求&#xff1a; 1、DMZ區內的服務器&#xff0c;辦公區僅能在辦公時間內(9:00-18:00)可以訪問&#xff0c;生產區的設備全天可以訪問。 2、生產區不允許訪問互聯網&#xff0c;辦公區和游客區允許訪問互聯網。 3、辦公區設備10.0.2.10不允許訪問…

rancher管理多個集群

一、rancher部署 單獨部署到一臺機器上&#xff0c;及獨立于k8s集群之外&#xff1a; 刪除所有yum源&#xff0c;重新建yum源&#xff1a; # 建centos7.9的yum源 # cat CentOS-Base.repo # CentOS-Base.repo # # The mirror system uses the connecting IP address of the …

OR-152 IGBT光耦系列

●緩沖邏輯類型&#xff08;圖騰柱輸出&#xff09; ●輸出峰值電流&#xff1a; 2.5 A &#xff08;最大值&#xff09; ●電源電流&#xff1a; 3 mA &#xff08;最大值&#xff09; ● 電源電壓&#xff1a; 10 至 30 V ●閾值輸入電流&#xff1a; 7.5 mA&#xf…

Java面向對象進階篇綜合訓練(附帶全套源代碼及逐語句分析)->基于javabeen

一、前言 面向對象這一塊也要結束了&#xff0c;不知道讀者們掌握的如何呢。不過面向對象的路程遠不止于此&#xff0c;可以利用面向對象來做一些小型的系統來鞏固一下。接下來就進入新的章節了&#xff0c;回顧一下這已經是第五天了&#xff0c;之前說的7天拿下java還是太過于…

常用的Redis命令介紹

常用的Redis命令介紹 Redis 是一個高性能的鍵值存儲數據庫&#xff0c;支持多種數據結構&#xff0c;如字符串&#xff08;String&#xff09;、哈希&#xff08;Hash&#xff09;、列表&#xff08;List&#xff09;、集合&#xff08;Set&#xff09;和有序集合&#xff08;S…

51單片機:使用蜂鳴器演奏《盜將行》(附代碼詳解)

一、功能實現&#xff1a; 二、代碼內容&#xff1a; 主函數.c #include <REGX52.H> #include "Delay.h" #include "Timer0.h"sbit BuzzerP2^5;#define SPEED 500 //原先默認一個四分音符延遲500ms#define P 0 //休止 #define L1 1 //低音…

LLaMA-Factory:開源的低代碼大模型訓練框架

LLaMA-Factory 是一個由零隙智能&#xff08;SeamLessAI&#xff09;開源的低代碼大模型訓練框架&#xff0c;它集成了業界最廣泛使用的微調方法和優化技術&#xff0c;并支持眾多開源模型的微調和二次訓練。 一、功能特點 支持多種開源模型&#xff1a;LLaMA-Factory支持包括…

輻射神經場算法——Instant-NGP / Mipi-NeRF 360 / 3D Gaussian Splatting

輻射神經場算法——Instant-NGP / Mipi-NeRF 360 / 3D Gaussian Splatting 1. Instant-NGP1. MultiResolution Hash Encoding1.2 Accelerated Ray Marching1.3 實驗結果 2. Mip-NeRF 3602.1 場景參數化2.2 在線蒸餾2.3 失真正則化2.4 實驗結果 3. 3D Gaussian Splatting3.1 Dif…

krpano開啟日志公能

<krpano version"1.21" title"博物館" debugmode"true" > 之后鼠標右鍵菜單欄最后一行 點擊&#xff08;開啟后會發生變化&#xff09;。

汽車預約維修小程序的設計

管理員賬戶功能包括&#xff1a;系統首頁&#xff0c;個人中心&#xff0c;技師管理&#xff0c;技師信息管理&#xff0c;用戶預約管理&#xff0c;取消預約管理&#xff0c;訂單信息管理&#xff0c;系統管理 微信端賬號功能包括&#xff1a;系統首頁&#xff0c;技師信息&a…