溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

vue怎么根據(jù)條件判斷屬性的添加和去除

發(fā)布時間:2022-01-24 09:16:55 來源:億速云 閱讀:912 作者:kk 欄目:開發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)vue怎么根據(jù)條件判斷屬性的添加和去除,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

根據(jù)條件判斷屬性的添加和去除

寫一個列表,然后想要在查詢數(shù)據(jù)的過程中添加loading樣式,這個時候需要添加一個loading屬性,但是添加之后會有直接展示loading。

解決方法

:loading = isLoading

在下面需要注冊isLoading為boolean類型,如下:

isLoading:false/true

然后在開始查詢的時候改為false,查詢結(jié)果出來之后改為false

this.isLoading = true
this.isLoading = false

Vue 的條件判斷語句

v-if

條件判斷用 v-if 指令

代碼示例:在元素中使用 v-if 指令

<div id="app">
    <input type="button" value='toggle' @click='flag=!flag'>
    <h4 v-if='flag'>v-if directive</h4>
</div>
var vm = new Vue({
    el:'#app',
    data:{
       flag:true
    },
    methods:{}
});

這里, v-if 指令將根據(jù)表達(dá)式 flag 的值 (true 或 false ) 來決定是否插入 h4 元素。

v-else

可以用 v-else 指令給 v-if 添加一個 “else” 塊

代碼示例:在元素中使用 v-if , v-else 指令

<div id="app">
    <h4 v-if='flag'>Yes</h4>    
    <h4 v-else='flag'>No</h4>
</div>
var vm = new Vue({
    el:'#app',
    data:{
       flag:true
    },
    methods:{}
});

這里, v-if,v-else 指令將根據(jù)表達(dá)式 flag 的值 (true 或 false ) 來決定是否插入 h4 元素以及元素中的值。

v-else-if

v-else-if 在 2.1.0 新增,用作 v-if 的 else-if 塊??梢枣?zhǔn)降亩啻问褂?/p>

代碼示例:在元素中使用 v-if , v-else, v-else-if 指令

<div id="app">
    <h4 v-if='star==="Jackson"'>Jackson</h4>    
    <h4 v-else-if='star==="Lay"'>Lay</h4>    
    <h4 v-else='star==="Yang"'>Yang</h4>
</div>
var vm = new Vue({
    el:'#app',
    data:{
       star:Jackson
    },
    methods:{}
});

v-else 、v-else-if 必須跟在 v-if 或者 v-else-if之后。

v-show

v-show 跟 v-if 的效果差不多;但本質(zhì)有很大的區(qū)別。

代碼示例:v-if 與 v-show 的區(qū)別

    <div id="app">
        <input type="button" value='toggle' @click='toggle'>
        <!-- 一般來說,v-if 有更高的切換消耗,而 v-show 有更高的初始渲染消耗。
        因此,如果需要頻繁切換:用 v-show 較好;如果在運(yùn)行時條件不大可能改變:
        用 v-if 較好 -->
        <h4 v-if='flag'>v-if directive</h4>
        <h4 v-show='flag'>v-show directive</h4>
    </div>
<script>
    var vm = new Vue({
        el:'#app',
        data:{
            flag:true
        },
        methods:{
            toggle(){
                this.flag =! this.flag;
            }
        }
    });
</script>

v-if 與 v-show 的區(qū)別

區(qū)別一:

  • v-if 是動態(tài)添加,當(dāng)值為 false時,是完全移除該元素,即 DOM 不存在;

  • v-show 僅隱藏 / 顯示,值為 false 時,該元素依舊存在于 DOM,若其原樣式設(shè) display:none 則會導(dǎo)致其無法正常顯示

區(qū)別二:

  • v-if 有較高的切換性能消耗

  • v-show 有較高的初始渲染消耗

為什么要使用Vue

Vue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以創(chuàng)建可維護(hù)性和可測試性更強(qiáng)的代碼庫,Vue允許可以將一個網(wǎng)頁分割成可復(fù)用的組件,每個組件都包含屬于自己的HTML、CSS、JavaScript,以用來渲染網(wǎng)頁中相應(yīng)的地方,所以越來越多的前端開發(fā)者使用vue。

上述就是小編為大家分享的vue怎么根據(jù)條件判斷屬性的添加和去除了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

vue
AI