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

VUE如何實現(xiàn)點擊文字添加顏色(動態(tài)修改class)

 更新時間:2023年11月16日 09:38:36   作者:前端李小白  
這篇文章主要介紹了VUE如何實現(xiàn)點擊文字添加顏色(動態(tài)修改class),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

vue點擊文字添加顏色(動態(tài)修改class)

實現(xiàn)的原理很簡單,只需要動態(tài)綁定一個class就可以了,現(xiàn)在分別列出三種情況

1.點擊文字顏色改變

再次點擊,點擊的顏色改變,之前的顏色變回原來的顏色

代碼如下:

<template>
  <div class="list2">
    <ul>
      <li
        v-for="(item,index) in List"
        :key="index"
        :class="{activeColor:colorIndex===index}"
        @click="changeColor(item,index)"
      >
        <span>{{item.name}}</span>
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  name: "list",
  components: {},
  data() {
    return {
      List: [
        { name: "總的" },
        { name: "部分1" },
        { name: "部分2" },
        { name: "部分3" }
      ],
      colorIndex: -1
    };
  },
  mounted() {},
  methods: {
    changeColor(item, index) {
      this.colorIndex = index;
    }
  }
};
</script>

<style lang="less" scoped>
.list2 {
  width: 100px;
  ul {
    list-style: none;
    .activeColor {
      background-color: #f6fbff;
      color: #298adb;
    }
    li {
      cursor: pointer;
    }
  }
}
</style>

效果如下,當我點擊其中某一個文字的時候,字體的顏色就改變了

2.如果需要點擊多個變顏色的話

再次點擊取消的話,我是這樣做的,給data里面的對象添加一個屬性,全部設(shè)置為false,然后點擊的時候設(shè)置為true,

代碼如下:

<template>
  <div class="list2">
    <ul>
      <li
        v-for="(item,index) in List"
        :key="index"
        :class="{activeColor:item.active}"
        @click="changeColor(item,index)"
      >
        <span>{{item.name}}</span>
      </li>
    </ul>
  </div>
</template>
<script>
export default {
  name: "list",
  components: {},
  data() {
    return {
      List: [
        { name: "總的" },
        { name: "部分1" },
        { name: "部分2" },
        { name: "部分3" }
      ],
      colorIndex: -1
    };
  },
  mounted() {
      this.addActive()
  },
  methods: {
      /*給List的每一個對象添加active屬性,需要用到this.$set('對象','鍵值','value') */
      addActive(){
        this.List.forEach(item=>{
            this.$set(item,'active',false)
        })
      },
    changeColor(item, index) {
      if(!item.active){
         item.active = true
      } else {
          item.active = false
      }
    }
  }
};
</script>
<style lang="less" scoped>
.list2 {
  width: 100px;
  ul {
    list-style: none;
    .activeColor {
      background-color: #f6fbff;
      color: #298adb;
    }
    li {
      cursor: pointer;
    }
  }
}
</style>

效果如下:點擊多個文字可以改變樣式,再次點擊可以取消

3.有時候我們要是有個‘總的’

那個點擊‘總的’,就不能有部分的存在了,點擊部分就不能有‘總的’存在

代碼如下:

<template>
  <div class="list2">
    <ul>
      <li
        v-for="(item,index) in List"
        :key="index"
        :class="{activeColor:item.active}"
        @click="changeColor(item,index)"
      >
        <span>{{item.name}}</span>
      </li>
    </ul>
  </div>
</template>
<script>
export default {
  name: "list",
  components: {},
  data() {
    return {
      List: [
        { name: "總的" },
        { name: "部分1" },
        { name: "部分2" },
        { name: "部分3" }
      ],
      colorIndex: -1
    };
  },
  mounted() {
    this.addActive();
  },
  methods: {
    /*給List的每一個對象添加active屬性,需要用到this.$set('對象','鍵值','value') */
    addActive() {
      this.List.forEach(item => {
        this.$set(item, "active", false);
      });
    },
    changeColor(item, index) {
      if (index === 0) {
        this.List.forEach(item => {
          item.active = false;
        });
      } else {
        this.List[0].active = false;
      }
      if (!item.active) {
        item.active = true;
      } else {
        item.active = false;
      }
    }
  }
};
</script>
<style lang="less" scoped>
.list2 {
  width: 100px;
  ul {
    list-style: none;
    .activeColor {
      background-color: #f6fbff;
      color: #298adb;
    }
    li {
      cursor: pointer;
    }
  }
}
</style>

效果如下,點擊‘總的’話,部分會全部不變,點擊‘部分’,全部會不變

總結(jié)

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

相關(guān)文章

  • vue項目element-ui級聯(lián)選擇器el-cascader回顯的問題及解決

    vue項目element-ui級聯(lián)選擇器el-cascader回顯的問題及解決

    這篇文章主要介紹了vue項目element-ui級聯(lián)選擇器el-cascader回顯的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 解決Vue數(shù)據(jù)更新了但頁面沒有更新的問題

    解決Vue數(shù)據(jù)更新了但頁面沒有更新的問題

    在vue項目中,有些我們會遇到修改完數(shù)據(jù),但是視圖卻沒有更新的情況,具體的場景不一樣,解決問題的方法也不一樣,在網(wǎng)上看了很多文章,在此總結(jié)匯總一下,需要的朋友可以參考下
    2023-08-08
  • vue.js實現(xiàn)刷新當前頁面的方法教程

    vue.js實現(xiàn)刷新當前頁面的方法教程

    這篇文章主要給大家介紹了關(guān)于vue.js實現(xiàn)刷新當前頁面的方法教程,文中給出了詳細的示例代碼供大家參考學習,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編一起來學習學習吧。
    2017-07-07
  • vue操作select獲取option值方式

    vue操作select獲取option值方式

    文章介紹了在Vue中操作select元素并實時獲取選中的option值的方法,通過使用`@change`事件并傳遞參數(shù),可以實現(xiàn)動態(tài)獲取選中的值
    2025-01-01
  • vue項目前端加前綴(包括頁面及靜態(tài)資源)的操作方法

    vue項目前端加前綴(包括頁面及靜態(tài)資源)的操作方法

    這篇文章主要介紹了vue項目前端加前綴(包括頁面及靜態(tài)資源)的操作方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-12-12
  • Vue.js集成Word實現(xiàn)在線編輯功能

    Vue.js集成Word實現(xiàn)在線編輯功能

    在現(xiàn)代Web應(yīng)用中,集成文檔編輯功能變得越來越常見,特別是在協(xié)作環(huán)境中,能夠直接在Web應(yīng)用內(nèi)編輯Word文檔可以極大地提高工作效率,本文將詳細介紹如何在Vue.js項目中集成Word在線編輯功能,需要的朋友可以參考下
    2024-08-08
  • Vue3中Hooks封裝的技巧詳解

    Vue3中Hooks封裝的技巧詳解

    這篇文章主要來和大家分享一些關(guān)于 Vue3中Hooks封裝的技巧,希望能夠為大家在 Vue 3 項目中更好地利用 Hooks 提供一些思路和實踐經(jīng)驗
    2023-12-12
  • Vue3封裝實現(xiàn)右鍵菜單組件

    Vue3封裝實現(xiàn)右鍵菜單組件

    這篇文章主要為大家詳細介紹了Vue3封裝實現(xiàn)右鍵菜單組件的相關(guān)知識,文中的示例代碼講解詳細,具有一定的借鑒價值,有需要的小伙伴可以了解下
    2025-02-02
  • VueX學習之modules和namespacedVueX詳細教程

    VueX學習之modules和namespacedVueX詳細教程

    這篇文章主要為大家介紹了VueX學習之modules和namespacedVueX詳細教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • 基于Vuejs實現(xiàn)購物車功能

    基于Vuejs實現(xiàn)購物車功能

    這篇文章主要為大家詳細介紹了基于Vuejs實現(xiàn)購物車功能的相關(guān)資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08

最新評論