搜尋
首頁web前端Vue.js深入聊聊Vue中的一些常用指令

這篇文章帶大家深入聊聊Vue中的一些常用指令,希望對大家有幫助。

深入聊聊Vue中的一些常用指令

首先來聊聊Vue框架,Vue是一套用於建立使用者介面的漸進式的JavaScript框架,對於初學者來說是非常友好的, Vue的虛擬Dom , 數據雙向綁定, 都使開發者可以快速上手, 而我個人感覺, Vue的指令使用起來非常的方便, 今天的這篇文章們就來聊聊常用的Vue指令吧!

v-for

在初學任何一門語言的時候我們或多或少都接觸過for

for (let i = 0; i < arr.length; i++) {

}

Vue 的v-for跟我們js裡面的最根本的概念還是一樣的就是兩個字循環

v-for後面括號裡面itemindex就相當for循環裡面的arr[i]i 也就是對應的每一個元素下標  , 後面的in  arr 這個arr 就是我們想要循環的陣列最後一個:key="item.id "是v-for的核心如果沒有這個:key 我們的Vue就會報錯, 那為什麼會有Key , Key要給的參數是什麼呢? Key的參數是唯一的, 也就是我們不管循環幾次, 每次循環的key不能有重複, 這裡我們不推薦用index來當你的Key , 說到底,key的作用就是更新組件時判斷兩個節點是否相同。相同就復用,不相同就刪除舊的創建新的。在渲染簡單的無狀態元件時,如果不加入key元件預設都是就地重複使用,不會刪除新增節點,只是改變清單項目中的文字值,要知道節點操作是十分耗費效能的。而加入了key之後,當比較內容不一致時,就會認為是兩個節點,會先刪除掉舊節點,然後再新增節點。

<li v-for="(item,index) in arr" :key="item.id">
     {{ item.name }}
</li>

v-show

v-show  是根據布林值來進行渲染, true 就頁面顯示, false 就不在頁面顯示,他的原理其實是控制css樣式來使得我們對應的元件或盒子顯示,隱藏dispaly:"none"   ,顯示dispaly:"block"

<div v-show="true"> 我 dispaly:"block" 拉 </div>

<div v-show="false"> 我 dispaly:"none" 拉 </div> //假装我隐藏了 你看不见我

v-if

v-if 也是根據布林值來渲染,跟v-show也是差不多, true 就頁面顯示, false 就不在頁面顯示但是v-if是惰性的如果初始值是false元件就不會渲染出來, 知道第一次他的參數變成true 他才會渲染,但他的條件又變成false的時候, 子元件適當就會唄地被銷毀和重建, 如果需要非常頻繁地切換,則使用v-show 較好;如果在運行時條件很少改變,則使用v-if 較好。

<div v-if="true">  </div>

<div v-if="false"> 我被销毁了呜呜呜 </div> //假装我隐藏了 你看不见我

v-else

提到v-if 也就聊到了  v-else  在v-if條件不成立的時候就會直接走到v-else上去,記住v-else後面不能跟等號, 元件之前必須跟v-if

<div v-if="false"> 你看不到我啊  </div> //因为我条件不成立

<div v-else> 你能看到我 </div>

v-else-if

提到v-if 和 v-else 也就會想到  v- else-if  在v-if條件不成立的時候就會直接走到v-else-if上去看條件判斷成立不成立, 條件成立就渲染元件, 元件之前必須要跟v-if

<p v-if="score>=90">厉害</p>

<p v-else-if="score>=60">差不多</p>

v-once

#v-once 它的作用就是定義它的元素或元件只會渲染一次, 當第一次渲染之後也不會隨著資料的更新而來進行重新渲染, 就相當於一個靜態內容

<template>
    <div v-once>{{count}}</div>
    <button v-on:click="addCount"> 你点我count也不加 </button>
</template>



<script>
    export default {
        data() {
            return { count: 10 } 
        },
        methods: { 
        addCount: function () {
            this.count += 1;
            console.log(&#39;this.count:&#39;+this.count); 
            } 
        }
    }
</script>

v-text

v- text 以文字的方式來插入資料, 是用於操作純文字, 他是會替代本身元素上面的內容,如果資料更新隨之試圖也會發生改變

<p v-text="data"> 你好你好 </p>

v-html

v-html v-html用於輸出html,它與v-text區別在於v-text輸出的是純文本,瀏覽器不會對其再進行html解析,但v-html會將其當html標籤解析後輸出

<p v-html="data">厉害</p>


页面显示:<p>
            <h1>你好啊<h1>
        </p> // 外层还是会有p标签来包裹



data:<h1>你好啊<h1>

v-on

v-on 有一個簡單的寫法就是" @  " 簡單來說v-on就是綁定事件, 可以在一個標籤綁定多個事件, v-on:第一個是事件, 事件後面跟著一個自定義方法

 <button v-on:mouseenter=&#39;onenter&#39; @click=&#39;leave&#39;>click me</button>

v-bind

v-bind 也有一个简便的写法就是" :  " 简单来说v-on就是用于绑定数据和元素属性 , 最常用的方法就是用于动态绑定class

 <ul  :class="classObject"></ul>

v-model

v-model是Vue双向绑定指令 , 它可以在页面是输入的状态同时改变绑定data属性 , 也会在data属性发生改变的时候也更新页面的状态 , 我们经常在input上面能发现他的存在 , 他的本质上其实是绑定了<input :value="test">v-model后面可以跟修饰符比如 .lazy.trim.number 这些修饰符一起使用

.lazy 将input的实时更新改为一个change事件 , 只有失焦的时候input才会触发事件

.trim 去除字符串首尾的空格

.number 将数据转化为值类型

<input v-model="test">

<input v-model.lazy="msg" >

<input v-model.trim="msg">

<input v-model.number="age" type="number">

【相关推荐:vue.js教程

以上是深入聊聊Vue中的一些常用指令的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:掘金社区。如有侵權,請聯絡admin@php.cn刪除
vue.js的前端開發:優勢和技術vue.js的前端開發:優勢和技術May 03, 2025 am 12:02 AM

Vue.js受歡迎的原因包括簡單易學、靈活性高和高效性能。 1)其漸進式框架設計適合初學者逐步學習。 2)組件化開發提高了代碼可維護性和團隊協作效率。 3)響應式系統和虛擬DOM提升了渲染性能。

vue.js vs.反應:易於使用和學習曲線vue.js vs.反應:易於使用和學習曲線May 02, 2025 am 12:13 AM

Vue.js更易用且學習曲線較平緩,適合初學者;React學習曲線較陡峭,但靈活性強,適合有經驗的開發者。 1.Vue.js通過簡單的數據綁定和漸進式設計易於上手。 2.React需要理解虛擬DOM和JSX,但提供更高的靈活性和性能優勢。

Vue.js vs. React:哪個框架適合您?Vue.js vs. React:哪個框架適合您?May 01, 2025 am 12:21 AM

Vue.js適合快速開發和小型項目,而React更適合大型和復雜的項目。 1.Vue.js簡單易學,適用於快速開發和小型項目。 2.React功能強大,適合大型和復雜的項目。 3.Vue.js的漸進式特性適合逐步引入功能。 4.React的組件化和虛擬DOM在處理複雜UI和數據密集型應用時表現出色。

VUE.JS與React:JavaScript框架的比較分析VUE.JS與React:JavaScript框架的比較分析Apr 30, 2025 am 12:10 AM

Vue.js和React各有優缺點,選擇時需綜合考慮團隊技能、項目規模和性能需求。 1)Vue.js適合快速開發和小型項目,學習曲線低,但深層嵌套對象可能導致性能問題。 2)React適用於大型和復雜應用,生態系統豐富,但頻繁更新可能導致性能瓶頸。

vue.js vs.反應:用例和應用程序vue.js vs.反應:用例和應用程序Apr 29, 2025 am 12:36 AM

Vue.js適合小型到中型項目,React適合大型項目和復雜應用場景。 1)Vue.js易於上手,適用於快速原型開發和小型應用。 2)React在處理複雜狀態管理和性能優化方面更有優勢,適合大型項目。

VUE.JS與React:比較性能和效率VUE.JS與React:比較性能和效率Apr 28, 2025 am 12:12 AM

Vue.js和React各有優勢:Vue.js適用於小型應用和快速開發,React適合大型應用和復雜狀態管理。 1.Vue.js通過響應式系統實現自動更新,適用於小型應用。 2.React使用虛擬DOM和diff算法,適合大型和復雜應用。選擇框架時需考慮項目需求和團隊技術棧。

vue.js vs.反應:社區,生態系統和支持vue.js vs.反應:社區,生態系統和支持Apr 27, 2025 am 12:24 AM

Vue.js和React各有優勢,選擇應基於項目需求和團隊技術棧。 1.Vue.js社區友好,提供豐富學習資源,生態系統包括VueRouter等官方工具,支持由官方團隊和社區提供。 2.React社區偏向企業應用,生態系統強大,支持由Facebook及其社區提供,更新頻繁。

React和Netflix:探索關係React和Netflix:探索關係Apr 26, 2025 am 12:11 AM

Netflix使用React來提升用戶體驗。 1)React的組件化特性幫助Netflix將復雜UI拆分成可管理模塊。 2)虛擬DOM優化了UI更新,提高了性能。 3)結合Redux和GraphQL,Netflix高效管理應用狀態和數據流動。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境