Vue 中動態添加class(使用v-bind:class)

今天在Vue中動態修改類名,元素的樣式就是不改變,類名也沒有加上去,裏面的問題具體我仍是不太清楚,有多是由於本身不認真,把 :class= 後面的內容的格式給整錯了,下面將正確的作法記錄一下,便於之後查看。javascript

  1. 用法一:
    參考:
    1. HTML示例:css

      //將下面nav_datas數組中的數據給渲染出來,並利用nav_datas中的class_true的boolean值來表示該元素類名是否存在
       <template>
          <div>
              <ul>
                  <li v-for="(nav_data,index) in nav_datas" :key="index" :class="{'nav_select_selected':nav_data.class_true}">{{nav_data.name}}</li>
              </ul>            
          </div>
      </template>
    2. selected CSS樣式示例:html

      .nav_select_selected{
          border-bottom: 3px solid #4b9fd5;
        }
    3. JavaScript示例:vue

      <script>
        export default {
          data(){
            return {
              //渲染數據的數組
              nav_datas:[
                {class_true:false,name:'test1'},
                {class_true:false,name:'test2'},
                {class_true:false,name:'test3'},
                {class_true:false,name:'test4'},
                {class_true:false,name:'test5'},
              ]
      
            }
          },
          methods:{
      
          },
          mounted(){
              //這裏的數字能夠換成 0~this.nav_datas.length 之間任意的數字
            this.nav_datas[0].class_true = true
          }
        }
      </script>
  2. 關於動態綁定類名和樣式還有幾種用法,詳情請見:https://cn.vuejs.org/v2/guide/class-and-style.html#%E6%95%B0%E7%BB%84%E8%AF%AD%E6%B3%95

我在解決問題過程當中參考了這篇文章:vue中v-bind:class動態添加classjava

如需轉載,請註明出處:http://www.javashuo.com/article/p-qujlknlj-hw.html數組

相關文章
相關標籤/搜索