亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Vue中的常用指令及用法總結(jié)

 更新時(shí)間:2022年01月12日 09:30:47   作者:青燈夜游  
在本篇文章里小編給大家整理的是一篇關(guān)于Vue中的常用指令及用法總結(jié)內(nèi)容,對(duì)此有興趣的朋友們可以跟著學(xué)習(xí)下。

首先來聊聊Vue框架,Vue是一套用于構(gòu)建用戶界面的漸進(jìn)式的JavaScript框架,對(duì)于初學(xué)者來說是非常友好的 , Vue的虛擬Dom , 數(shù)據(jù)雙向綁定 , 都使開發(fā)者可以快速上手 , 而我個(gè)人感覺 , Vue的指令使用起來非常的方便 , 今天的這篇文章們就來聊聊常用的Vue指令吧!

v-for

在初學(xué)任何一門語言的時(shí)候我們或多或少都接觸過 for

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

}

Vue 的 v-for跟我們js里面的最根本的概念還是一樣的就是兩個(gè)字 循環(huán)

v-for后面括號(hào)里面 item 和 index 就相當(dāng)for循環(huán)里面的 arr[i] 和 i 也就是對(duì)應(yīng)的每一個(gè) 元素 和 下標(biāo) , 后面的 in arr 這個(gè) arr 就是我們想要循環(huán)的數(shù)組 最后一個(gè) :key="item.id "是v-for的核心 如果沒有這個(gè):key 我們的Vue就會(huì)報(bào)錯(cuò) , 那么為什么會(huì)有Key , Key要給的參數(shù)是什么呢? Key的參數(shù)是唯一的 , 也就是我們不管循環(huán)幾次 , 每次循環(huán)的key不能有重復(fù) , 這里我們不推薦用index來當(dāng)你的Key , 說到底,key的作用就是更新組件時(shí)判斷兩個(gè)節(jié)點(diǎn)是否相同。相同就復(fù)用,不相同就刪除舊的創(chuàng)建新的。在渲染簡(jiǎn)單的無狀態(tài)組件時(shí),如果不添加key組件默認(rèn)都是就地復(fù)用,不會(huì)刪除添加節(jié)點(diǎn),只是改變列表項(xiàng)中的文本值,要知道節(jié)點(diǎn)操作是十分耗費(fèi)性能的。而添加了key之后,當(dāng)對(duì)比內(nèi)容不一致時(shí),就會(huì)認(rèn)為是兩個(gè)節(jié)點(diǎn),會(huì)先刪除掉舊節(jié)點(diǎn),然后添加新節(jié)點(diǎn)。

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

v-show

v-show 是根據(jù)布爾值來進(jìn)行渲染 , true 就頁面顯示 , false 就不在頁面顯示 ,他的原理其實(shí)是控制css樣式來使得我們對(duì)應(yīng)的組件或者盒子顯示 ,隱藏dispaly:"none" ,顯示dispaly:"block"

<div v-show="true"> 我 dispaly:"block" 拉 </div>
 <div v-show="false"> 我 dispaly:"none" 拉 </div> //假裝我隱藏了 你看不見我

v-if

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

<div v-if="true">  </div>
 
<div v-if="false"> 我被銷毀了嗚嗚嗚 </div> //假裝我隱藏了 你看不見我

v-else

提到 v-if 也就聊到了 v-else 在 v-if條件不成立的時(shí)候就會(huì)直接走到v-else上去 ,記住v-else后面不能跟等號(hào) , 組件之前必須要跟v-if

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

v-else-if

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

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

v-once

v-once 它的作用就是定義它的元素或組件只會(huì)渲染一次 , 當(dāng)?shù)谝淮武秩局笠膊粫?huì)隨著數(shù)據(jù)的更新而來進(jìn)行重新渲染 , 就相當(dāng)于一個(gè)靜態(tài)內(nèi)容

<template>
    <div v-once>{{count}}</div>
    <button v-on:click="addCount"> 你點(diǎn)我count也不加 </button>
</template>
 
 
 
<script>
    export default {
        data() {
            return { count: 10 } 
        },
        methods: { 
        addCount: function () {
            this.count += 1;
            console.log('this.count:'+this.count); 
            } 
        }
    }
</script>

v-text

v-text 以文本的方式來插入數(shù)據(jù) , 是用于操作純文本 , 他是會(huì)替代本身元素上面的內(nèi)容,如果數(shù)據(jù)更新隨之試圖也會(huì)發(fā)生改變

<p v-html="data">厲害</p>
 
 
頁面顯示:<p>
            <h1>你好啊<h1>
        </p> // 外層還是會(huì)有p標(biāo)簽來包裹
 
 
 
data:<h1>你好啊<h1>

v-on

v-on 有一個(gè)簡(jiǎn)便的寫法就是" @ " 簡(jiǎn)單來說v-on就是綁定事件 , 可以在一個(gè)標(biāo)簽綁定多個(gè)事件 , v-on:第一個(gè)是事件 , 事件后面跟著一個(gè)自定義方法

<button v-on:mouseenter='onenter' @click='leave'>click me</button>

v-bind

v-bind 也有一個(gè)簡(jiǎn)便的寫法就是" : " 簡(jiǎn)單來說v-on就是用于綁定數(shù)據(jù)和元素屬性 , 最常用的方法就是用于動(dòng)態(tài)綁定class

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

v-model

v-model是Vue雙向綁定指令 , 它可以在頁面是輸入的狀態(tài)同時(shí)改變綁定data屬性 , 也會(huì)在data屬性發(fā)生改變的時(shí)候也更新頁面的狀態(tài) , 我們經(jīng)常在input上面能發(fā)現(xiàn)他的存在 , 他的本質(zhì)上其實(shí)是綁定了 , v-model后面可以跟修飾符比如 .lazy 、.trim 和 .number 這些修飾符一起使用

.lazy 將input的實(shí)時(shí)更新改為一個(gè)change事件 , 只有失焦的時(shí)候input才會(huì)觸發(fā)事件

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

.number 將數(shù)據(jù)轉(zhuǎn)化為值類型

<input v-model="test">
<input v-model.lazy="msg" >
<input v-model.trim="msg">
<input v-model.number="age" type="number">

到此這篇關(guān)于Vue中的常用指令及用法總結(jié)的文章就介紹到這了,更多相關(guān)Vue中的一些常用指令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論