最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

VUE3頁面div如何點擊改變樣式

 更新時間:2024年03月04日 09:46:21   作者:左直拳  
這篇文章主要介紹了VUE3頁面div如何點擊改變樣式問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

vue3頁面div點擊改變樣式

如題目所示。

用上VUE之后,前后端分離,組件式開發(fā),代碼復用、獨立性和隔離性都挺好,可維護性得以提高。

相比之下,以前用jQuery,代碼實在太多了。

不過,vue有個地方不大好,就是控制頁面元素的樣式比較死板?,F(xiàn)在用vue和react的話,基本都會選用一種UI框架,比如element plus,或者ant design等。

UI框架通常比較強大,效果也很煊,比自己動手寫強多了。

但如果有些自己還想額外加一些效果的話,就會發(fā)現(xiàn)困難重重,不像以前用jquery那么好控制。

比如,我想羅列 4 個div,代表4種分類。

點擊其中一個,就加上置亮的邊框;再點擊,取消置亮。

在ant design vue里找來找去,沒有這種控件,只好自己寫。

代碼如下:

在這里插入圖片描述

<template>
  <div class="c-container">
    <div
      v-for="(item, index) in items"
      :key="index"
      :class="
        isActive === index
          ? 'c-item c-item-selected'
          : 'c-item c-item-noselected'
      "
      :style="`background:url(各種圖標) no-repeat center 15px;`"
      @click="changeCategory(item, index)"
    >
      <div class="c-text">{{ item.text }}</div>
    </div>
  </div>
</template>
<script>
import { defineComponent, toRefs, reactive, onMounted, ref } from "vue";
import { getCategory } from "@/components/Category";
import * as tools from "@/utils";

export default defineComponent({
  setup(props, context) {
    let isActive = ref(-1);

    const changeCategory = (item, index) => {
      if (isActive.value !== index) {//如果點擊的div沒有處于置亮狀態(tài),則置亮
        isActive.value = index;
      } else {//否則取消置亮
        isActive.value = -1;
      }
    };

    const state = reactive({
      items: [],
    });
    onMounted(async () => {
        state.items = 。。。;//獲取分類數(shù)據(jù)
    });
    
    return {
      ...toRefs(state),
      changeCategory,
      isActive,
    };
  },
});
</script>
<style scoped>
.c-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-around;
  min-width: 390px;
}
.c-item {
  width: 90px;
  height: 90px;
  margin-bottom: 10px;
  border-radius: 5px;
  cursor: pointer;
}
.c-item-noselected {
  border: solid 1px #eee;
}
.c-item-selected {
  border: solid 1px #1270d6;
}
.c-text {
  margin-top: 60px;
}
</style>

代碼中主要用了isActive這個響應式變量。

重點代碼為

   :class="
     isActive === index
       ? 'c-item c-item-selected'
       : 'c-item c-item-noselected'
   "
  let isActive = ref(-1);

  const changeCategory = (item, index) => {
    if (isActive.value !== index) {//如果點擊的div沒有處于置亮狀態(tài),則置亮
      isActive.value = index;
    } else {//否則取消置亮
      isActive.value = -1;
    }
  };

注意這個isActive,忽而isActive.value,忽而 isActive === index,讓人摸不著頭腦。

這是VUE的語法,沒辦法。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 淺談Vuejs Prop基本用法

    淺談Vuejs Prop基本用法

    本篇文章主要介紹了Vuejs Prop基本用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • 解析vue.config.js文件使用

    解析vue.config.js文件使用

    這篇文章主要介紹了vue.config.js文件使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 使用FileReader API創(chuàng)建Vue文件閱讀器組件

    使用FileReader API創(chuàng)建Vue文件閱讀器組件

    這篇文章主要介紹了使用FileReader API創(chuàng)建一個Vue的文件閱讀器組件,需要的朋友可以參考下
    2018-04-04
  • Vue之Echarts實現(xiàn)折線圖全過程

    Vue之Echarts實現(xiàn)折線圖全過程

    文章主要描述了在Vue項目中安裝并引入echart components插件的具體步驟,并解決了一些常見的錯誤,首先,創(chuàng)建了一個`test.vue`文件,然后引入并配置了ech六 five插件,最后,展示了一個成功的示意圖,并強調(diào)這是個人經(jīng)驗總結(jié),僅供參考
    2026-04-04
  • vue3和beego跨域請求配置方式

    vue3和beego跨域請求配置方式

    文章介紹了如何在Vue3和Beego中配置跨域請求,在Beego的router.go文件的init函數(shù)中添加option函數(shù)來回應預檢請求,以支持跨域請求,這是個人經(jīng)驗分享,希望能幫助到大家
    2025-01-01
  • vue實現(xiàn)監(jiān)聽數(shù)值的變化,并捕捉到

    vue實現(xiàn)監(jiān)聽數(shù)值的變化,并捕捉到

    這篇文章主要介紹了vue實現(xiàn)監(jiān)聽數(shù)值的變化,并捕捉到問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue實現(xiàn)路由懶加載及組件懶加載的方式

    vue實現(xiàn)路由懶加載及組件懶加載的方式

    懶加載簡單來說就是延遲加載或按需加載,即在需要的時候的時候進行加載。這篇文章主要介紹了vue路由懶加載及組件懶加載 ,需要的朋友可以參考下
    2019-06-06
  • 淺談vux之x-input使用以及源碼解讀

    淺談vux之x-input使用以及源碼解讀

    這篇文章主要介紹了淺談vux之x-input使用以及源碼解讀,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Vue-cli 使用json server在本地模擬請求數(shù)據(jù)的示例代碼

    Vue-cli 使用json server在本地模擬請求數(shù)據(jù)的示例代碼

    本篇文章主要介紹了Vue-cli 使用json server在本地模擬請求數(shù)據(jù)的示例代碼,非常具有實用價值,需要的朋友可以參考下
    2017-11-11
  • vue實現(xiàn)導出word文檔的示例代碼

    vue實現(xiàn)導出word文檔的示例代碼

    這篇文章主要為大家詳細介紹了如何使用vue實現(xiàn)導出word文檔(包括圖片),文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-01-01

最新評論

绵竹市| 石棉县| 古蔺县| 咸丰县| 皋兰县| 左云县| 清苑县| 永昌县| 波密县| 崇左市| 兴隆县| 仁化县| 凤阳县| 东源县| 阿合奇县| 沧源| 大埔县| 抚松县| 邵武市| 都匀市| 广安市| 工布江达县| 聊城市| 邢台市| 苍梧县| 保康县| 华安县| 嘉荫县| 永清县| 呼玛县| 苍溪县| 克什克腾旗| 鄂伦春自治旗| 孝昌县| 穆棱市| 泾川县| 奉贤区| 华池县| 安平县| 康乐县| 三穗县|