簡體   English   中英

Vue.js:Class 綁定在循環 object 時不起作用

[英]Vue.js: Class binding doesn't work when looping through an object

我有一個 object 這樣的數據:

object = {
   "2020092020-08-01":{
      "value":"123",
      "id_number":"202009"
   },
   "2020092020-09-01":{
      "value":"123",
      "id_number":"202009"
   },
   "2020012020-08-01":{
      "value":"123",
      "id_number":"202001"
   },
   "2020022020-09-01":{
      "value":"123",
      "id_number":"202002"
   },
   "2020012020-09-01":{
      "value":"123",
      "id_number":"202001"
   },
   "2020022020-08-01":{
      "value":"123",
      "id_number":"202002"
   },
   "2020112020-08-01":{
      "value":"123",
      "id_number":"202011",
   }
}

這是我的模板代碼:

<div v-for="(a, index) in object" :key="index">
    <div :class="[index % 2 == 0 ? 'bg-grey' : 'bg-white']">
        {{a.value}} - {{a.id_number}}
    </div>
</div>

當我嘗試渲染它時沒有錯誤,但我的綁定 class 不起作用。 我對 Vue 比較陌生。

此處的index引用 object 中的鍵,而不是v-for提供的自動遞增鍵。 添加第三個元素i應該解決這個問題。

 new Vue({ el:"#app", data(){ return{ object: { "2020092020-08-01":{ "value":"123", "id_number":"202009" }, "2020092020-09-01":{ "value":"123", "id_number":"202009" }, "2020012020-08-01":{ "value":"123", "id_number":"202001" }, "2020022020-09-01":{ "value":"123", "id_number":"202002" }, "2020012020-09-01":{ "value":"123", "id_number":"202001" }, "2020022020-08-01":{ "value":"123", "id_number":"202002" }, "2020112020-08-01":{ "value":"123", "id_number":"202011", } } } } });
 .bg-grey{ color:grey; }.bg-white{ color:white; } #app{ background-color:pink; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="app"> <div v-for="(a, index, i) in object":key="i"> <div:class="[i % 2 == 0? 'bg-grey': 'bg-white']"> {{a.value}} - {{a.id_number}} </div> </div> </div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM