亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

vue v-for循環中item值的問題

vue v-for循環中item值的問題

叮當貓咪 2018-09-02 14:03:05
問題描述:我想復用一個寫好的公共組件<template>     <ul>               <li v-for="(item, index) in items" :key=index>         <div>           <h2>{{item.name}}</h2>         </div>       </li>     </ul></template>其中兩個items的數據結構分別如下:items1: [   { name: 'a' },   { name: 'b' },   { name: 'c' } ]items2: [   { data: { name: 'a' } },   { data: { name: 'b' } },   { data: { name: 'c' } } ]傳items1時,獲取name是:item.name,傳items2時,獲取name是:item.data.name除了數據結構略有不同外,其他內容一樣,所以想復用這個組件我的思路: 在這個組件中寫兩個ul ,然后用一個標識去控制顯示的是item.name 還是item.data.name,但是又覺得這種方法太笨,跟重新寫一個組件沒啥區別。請問: 有遇到這種情況的人嗎,大家都是怎么解決的(不要說跟后臺商量把數據結構改為一致。。。)
查看完整描述

2 回答

?
浮云間

TA貢獻1829條經驗 獲得超4個贊

寫一個 computed 做兼容層

computed: {
    fItem () {        if (this.item.length == 0)            return [];            
        if (this.item[0].data) {            return this.item.map((v) => v.data);
        } else {            return this.item;
        }
    }
}

然后循環:fItem 就行了


查看完整回答
反對 回復 2018-09-02
  • 2 回答
  • 0 關注
  • 5605 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號