国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

前端魔法:掌握動態(tài) class,讓網(wǎng)頁元素隨心所欲

這篇具有很好參考價值的文章主要介紹了前端魔法:掌握動態(tài) class,讓網(wǎng)頁元素隨心所欲。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

當你動態(tài)的添加類名,在某個變量匹配需求時自動切換到某個類名,實現(xiàn)其對應的效果。這個過程就是我們常說的動態(tài) class,今天就和大家一起聊聊前端中的動態(tài) class。


一、對象語法

1.1 綁定單個 class

我們可以傳給 v-bind:class 一個對象,以動態(tài)地切換 class,如下案例:

<template>
  <div>
    <el-button @click="clickOn" v-bind:class="{'active':isActive}">點擊我</el-button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isActive: true,
    };
  },
  methods: {
    clickOn() {
      this.isActive = !this.isActive;
    },
  },
};
</script>

<style scoped>
.active {
  color: red;
}
</style>

實現(xiàn)效果

動態(tài)class,vue,前端,vue


1.2 綁定多個 class

對象中也可存在多個屬性,動態(tài)切換 class,并且 :class 可以合 class 共存,如下案例:

<template>
  <div>
    <div class="activeOne" v-bind:class="{ activeTwo: isActive, 'activeThree': hasError }"></div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isActive: true,
      hasError: true,
    };
  },
};
</script>

渲染結(jié)果

動態(tài)class,vue,前端,vue


1.3 綁定計算屬性

:class 的表達式過長或邏輯復雜時,可以綁定一個計算屬性,一般當條件多于兩個時,都可以使用 data 或者 computed,如下案例:

<template>
  <div>
    <div :class="taxonOne">內(nèi)容內(nèi)容內(nèi)容</div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isActive: true,
      isError: null,
      error: {
        type: "fail",
      },
    };
  },
  computed: {
    taxonOne() {
      return {
        taxonTwo: this.isActive && this.error == null, // (isActive 為 true 且 error 為 null) 類名為 taxonTwo
        taxonTherr: this.error && this.error.type == "fail", // (error 不為空且 error 中的 type 值為 "fail") 類名為 taxonTherr
      };
    },
  },
};
</script>
<style scoped>
.taxonTwo {
  color: red;
}
.taxonTherr {
  color: blue;
}
</style>

渲染結(jié)果

動態(tài)class,vue,前端,vue


二、數(shù)組語法

2.1 class 列表

當需要應用多個 class 時,可以使用數(shù)組語法,給 :class 綁定一個數(shù)組,如下案例:

<template>
  <div>
    <div v-bind:class="['taxonOne', 'taxonTwo']">內(nèi)容內(nèi)容內(nèi)容</div>
  </div>
</template>
<style scoped>
.taxonOne {
  color: red;
}
.taxonTwo {
  border: 1px solid blue;
}
</style>

渲染結(jié)果

動態(tài)class,vue,前端,vue


2.2 三元運算符

使用三元表達式,根據(jù)條件切換 class,如下案例:

<template>
  <div>
    <div v-bind:class="[isActive ? 'taxonOne' : 'taxonTwo']">內(nèi)容內(nèi)容內(nèi)容</div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isActive: false,
    };
  },
};
</script>
<style scoped>
.taxonOne {
  color: red;
}
.taxonTwo {
  color: blue;
}
</style>

isActivetrue 時的渲染結(jié)果

動態(tài)class,vue,前端,vue

反之,當 isActivefalse 時的渲染結(jié)果

動態(tài)class,vue,前端,vue


2.3 數(shù)組語法 + 對象語法

class 有多個條件時,這樣寫較為煩瑣,可以在數(shù)組語法中使用對象語法,如下案例:

<template>
  <div>
    <div v-bind:class="[{ taxonOne: isActive }, 'taxonTwo']">內(nèi)容內(nèi)容內(nèi)容</div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isActive: true,
    };
  },
};
</script>
<style scoped>
.taxonOne {
  border: 1px solid red;
}
.taxonTwo {
  color: blue;
}
</style>

渲染結(jié)果

動態(tài)class,vue,前端,vue


三、復合形式

你可以將 v-if/v-else-if:class 相結(jié)合進行使用,如下案例:

<template>
  <div>
    <div v-if="state == '0'" class="taxonOne">內(nèi)容內(nèi)容內(nèi)容</div>
    <div v-else-if="state == '1'" class="taxonTwo">內(nèi)容內(nèi)容內(nèi)容</div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      state: "0",
    };
  },
};
</script>
<style scoped>
.taxonOne {
  color: red;
}
.taxonTwo {
  color: blue;
}
</style>

state0 時,渲染結(jié)果

動態(tài)class,vue,前端,vue

state1 時,渲染結(jié)果

動態(tài)class,vue,前端,vue


:style

除了上面我們說到的動態(tài) class,我們也可以直接動態(tài)的綁定 style ,下面一起來看看如何在標簽中綁定內(nèi)聯(lián)樣式。

注意:

  1. 凡是有 -style 屬性名都要變成駝峰式,比如 font-size 要變成 fontSize;
  2. 除了綁定值,其他的屬性名的值要用引號括起來,比如 fontSize:'14px' 而不是 fontSize:14px。

一、 對象形式

1.1 直接綁定

這也是最簡單的一種形式,直接綁定,如下案例:

<template>
  <div>
    <div :style="{ color: activeColor, fontSize: fontSize + 'px' }">內(nèi)容內(nèi)容內(nèi)容</div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      activeColor: "red",
      fontSize: 30,
    };
  },
};
</script>

渲染結(jié)果

動態(tài)class,vue,前端,vue


1.2 三目運算符

三目運算符主要針對變量會動態(tài)變化時切換不同的 style 會比較方便,如下案例:

<template>
  <div>
    <div :style="{ color: state == '0' ? 'red' : 'blue'}">內(nèi)容內(nèi)容內(nèi)容</div>
    <div :style="state == '1' ? 'color:red' : 'color:blue'">內(nèi)容內(nèi)容內(nèi)容</div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      state: "0",
    };
  },
};
</script>

渲染結(jié)果

動態(tài)class,vue,前端,vue


1.3 計算屬性

當邏輯比較復雜時,可以通過綁定一個計算屬性,如下案例:

<template>
  <div>
    <div :style="styleState(0)">內(nèi)容內(nèi)容內(nèi)容</div>
  </div>
</template>

<script>
export default {
  data() {
    return {};
  },
  computed: {
    styleState() {
      return function (index) {
        return index == 0 ? "color: red" : "color: blue";
      };
    },
  },
};
</script>

渲染結(jié)果

動態(tài)class,vue,前端,vue



二、 數(shù)組形式

2.1 直接綁定

<template>
  <div>
    <div :style="[styleOne, styleTwo]">內(nèi)容內(nèi)容內(nèi)容</div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      styleOne: {
        border:"1px solid blue"
      },
      styleTwo: {
        color: "red",
      },
    };
  },
};
</script>

渲染結(jié)果

動態(tài)class,vue,前端,vue


2.2 三目運算符

<template>
  <div>
    <div :style="[{color:(state == '0' ? 'red' : 'blue')}]">內(nèi)容內(nèi)容內(nèi)容</div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      state: "0",
    };
  },
};
</script>

渲染結(jié)果

動態(tài)class,vue,前端,vue


三、調(diào)用方法

同樣,你也可以選擇調(diào)用一個方法,如下案例:

<template>
  <div>
    <div :style="setStyle(0)">內(nèi)容內(nèi)容內(nèi)容</div>
  </div>
</template>

<script>
export default {
  data() {
    return {};
  },
  methods: {
    setStyle(index) {
      return index == 0 ? "color: red" : "color: blue";
    },
  },
};
</script>

渲染結(jié)果

動態(tài)class,vue,前端,vue


拓展

以上我們展示的都是在 vue 中使用,那在別的平臺該如何使用呢?其實是大同小異的,可能在語法上會有一點點的不同,下面來看看在 uniapp 和微信小程序中如何使用動態(tài) class。


uniapp 中的動態(tài) class

:class="[{'類名':條件},{'類名':條件},{'類名':條件}]"

<template>
	<view>
		<view :class="[{'taxonOne' : index == '0'},{'taxonTwo' : index == '1'}]">內(nèi)容內(nèi)容內(nèi)容</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				index: "0"
			}
		},
	}
</script>

<style scoped>
	.taxonOne {
		color: red;
	}

	.taxonTwo {
		color: blue;
	}
</style>

index0 時,渲染結(jié)果

動態(tài)class,vue,前端,vue

index1 時,渲染結(jié)果

動態(tài)class,vue,前端,vue


微信小程序中的動態(tài) class

index.wxml

<view class="{{ state == '0' ? 'taxonOne' : 'taxonTwo' }}">內(nèi)容內(nèi)容內(nèi)容</view>

index.js

Page({
    data: {
        state: '1'
    },
})

index.wxss

.taxonOne{
    color: red;
}
.taxonTwo{
    color: blue;
}

state0 時,渲染結(jié)果

動態(tài)class,vue,前端,vue

state1 時,渲染結(jié)果

動態(tài)class,vue,前端,vue文章來源地址http://www.zghlxwxcb.cn/news/detail-743984.html

到了這里,關(guān)于前端魔法:掌握動態(tài) class,讓網(wǎng)頁元素隨心所欲的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Python Selenium 獲取動態(tài)網(wǎng)頁指定元素的超鏈接

    Python Selenium 獲取動態(tài)網(wǎng)頁指定元素的超鏈接

    本文是個人使用Python Selenium 獲取動態(tài)網(wǎng)頁指定元素的超鏈接的電子筆記,由于水平有限,難免出現(xiàn)錯漏,敬請批評改正。 更多精彩內(nèi)容,可點擊進入Python日常小操作專欄或我的個人主頁查看 熟悉Python 熟悉Requests 熟悉XPath 熟悉Selenium Python是一種跨平臺的計算機程序設(shè)計語言。

    2024年01月19日
    瀏覽(43)
  • AJAX 前端開發(fā)利器:實現(xiàn)網(wǎng)頁動態(tài)更新的核心技術(shù)

    AJAX是開發(fā)者的夢想,因為你可以: 在不重新加載頁面的情況下更新網(wǎng)頁 在頁面加載后請求來自服務(wù)器的數(shù)據(jù) 在頁面加載后接收來自服務(wù)器的數(shù)據(jù) 在后臺向服務(wù)器發(fā)送數(shù)據(jù) HTML頁面 HTML頁面包含一個 div 部分和一個 button div 部分用于顯示來自服務(wù)器的信息 button 調(diào)用一個函數(shù)(

    2024年03月22日
    瀏覽(25)
  • 掌握C++魔法:深入解析類與對象(上篇)

    掌握C++魔法:深入解析類與對象(上篇)

    W...Y的主頁 ?? 代碼倉庫分享 ?? ??前言: ?之前我們學習了從C語言轉(zhuǎn)到C++后我們需要知道的一些關(guān)鍵改動與變化。今天我們就要學習C++獨有的類與對象。在談?wù)擃惻c對象之前我們先說一下什么是面向?qū)ο蟮腃++,什么是面向過程的C語言。 目錄 面向過程和面向?qū)ο蟪醪秸J識

    2024年02月08日
    瀏覽(24)
  • 掌握C#中異步魔法:同步方法如何優(yōu)雅調(diào)用異步方法

    掌握C#中異步魔法:同步方法如何優(yōu)雅調(diào)用異步方法

    ? 概述: 上述C#示例演示了如何在同步方法中調(diào)用異步方法。通過使用`async`和`await`,實現(xiàn)了同步方法對異步方法的調(diào)用。建議使用`await`而不是`Result`來避免潛在的死鎖問題。這種模式在處理異步任務(wù)時能夠提高代碼的可讀性和性能。 在C#中,從同步方法調(diào)用異步方法

    2024年03月25日
    瀏覽(17)
  • 掌握這些寫簡歷投簡歷的“黑魔法”,告別簡歷已讀不回!

    “哎,我還能找到工作嗎?” 這是最近加我微信的好友,問的最多的一句話。 最近加我微信的朋友很多,我都很奇怪,最近也沒怎么發(fā)文章,怎么會有這么多人加我。 大概就是因為太卷了,之前寫的就業(yè)和接單的文章,被平臺推薦了。 最近加我的朋友可以分為兩大類: 一

    2024年02月13日
    瀏覽(16)
  • 【深入淺出Selenium庫的百變玩法】: 掌握Web自動化測試的關(guān)鍵技術(shù)和策略,包括元素定位、頁面操作、動態(tài)內(nèi)容處理等,適用于初學者和高級開發(fā)者的綜合指南

    Selenium是一個功能強大的庫,支持多種高級操作,如處理多窗口、多標簽頁、鍵盤與鼠標事件、滾動操作等。掌握Selenium可以大大提高Web應用的測試效率和覆蓋范圍。希望這篇文章能幫助你開啟Selenium進行自動化測試的新篇章。 Selenium也是一個廣泛使用的自動化測試工具,它支

    2024年02月20日
    瀏覽(54)
  • 對標ChatGPT3.5,支持手機電腦網(wǎng)頁使用,無需魔法

    對標ChatGPT3.5,支持手機電腦網(wǎng)頁使用,無需魔法

    說到 Claude 是什么,大家可能沒聽說過。 但是說到 OpenAI,說到 ChatGPT,相信大家一定聽說過,玩過。 PS:關(guān)于 Claude 網(wǎng)頁版的注冊教程,我之前已經(jīng)寫過文章了,現(xiàn)在額外介紹如何使用手機App和電腦軟件來玩 Claude。 Claude ,這是一支由前 OpenAI 的研究員和工程師組成的團隊創(chuàng)建

    2024年02月06日
    瀏覽(21)
  • 掌握AI助手的魔法工具:解密`Prompt`(提示)在AIGC時代的應用(下篇)

    掌握AI助手的魔法工具:解密`Prompt`(提示)在AIGC時代的應用(下篇)

    前言:在前面的兩篇文章中,我們深入探討了AI助手中的魔法工具—— Prompt (提示)的基本概念以及在 AIGC(Artificial Intelligence-Generated Content ,人工智能生成內(nèi)容)時代的應用場景。在本篇中,我們將進一步探索多個領(lǐng)域中 Prompt 的應用,并通過具體的場景舉例來加深理解。

    2024年02月07日
    瀏覽(24)
  • 掌握AI助手的魔法工具:解密Prompt(提示)在AIGC時代的應用「上篇」

    掌握AI助手的魔法工具:解密Prompt(提示)在AIGC時代的應用「上篇」

    在當今的AIGC時代,我們面臨著越來越多的人工智能技術(shù)和應用。其中一個引人注目的工具就是Prompt(提示)。它就像是一種魔法,可以讓我們與AI助手進行更加互動和有針對性的對話。那么,讓我們一起來了解一下Prompt,它是什么,為什么需要它,怎么使用它以及使用它會有

    2024年02月11日
    瀏覽(19)
  • 掌握AI助手的魔法工具:解密Prompt(提示)在AIGC時代的應用「中篇」

    在當今人工智能時代,我們越來越多地依賴于AI助手來解決問題和滿足需求。然而,要讓AI助手真正理解我們的意圖并產(chǎn)生出我們期望的結(jié)果并不容易。在本篇文章中,我們將探討一種關(guān)鍵的技巧,即prompt的使用。通過合理運用prompt,我們可以更好地引導AI助手的思考,從而得

    2024年02月11日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包