用產品的屬性數聽說明javascript
頁面裏顯示效果爲:要把產品的屬性顯示到頁面上,產品屬性爲後臺自主上傳產品的屬性,產品的屬性不一樣,因此須要把屬性和屬性值顯示到頁面上html
產品屬性數據爲:vue
properties: "[ java
{"表面處理":["發黑","發白"]},jquery
{"顏色":["紅色","黃色"]},數組
{"大小":["10mm","20mm"]}app
]"this
html代碼爲:spa
<div class="row" v-for="(val, name, index) in properties" :key="index"> <!--循環外層數據-->
<div v-for="(pro,key,index) in val" :key="index"> <!--顯示key,屬性-->
<div class="left">
<p>{{key}}</p>
</div>
<div class="center showHeight">
<p class="spec filterorder shuxing" id="proper0">
<span data-id="0" class="active">所有</span>
<span data-id="" v-for="(val,i) in pro">{{val}}</span> <!--屬性有多個,循環多個屬性顯示到頁面-->
</p>
</div>
<div class="right" onclick="attrmore(this)">
<img src="img/genduo.png" style="display: none;">
</div>
</div>
</div>
1.重點記錄一下相似於jquery中的key 與 value的顯示
如下是vue的寫法
val:{"表面處理":["發黑","發白"]}<div v-for="(pro,key,index) in val" :key="index"> <!--顯示key,屬性-->
<div class="left">
<p>{{key}}</p><p>{{por}}</p></div>
</div>
2如下的例子jQuery的寫法
//加載屬性 function propertieslist(data) { var properties=data.t.goodsInfo.properties; var proper=JSON.parse(properties); var attrrow=''; var valueattr=''; $("#gcipList").children().remove(); var gcipTu = ' <div class="gcipTu">\n' + ' <img src="'+data.t.goodsInfo.mainPhotoUrl+'" alt="">\n' + ' </div><div class="row titlenow" id="titlenow"></div>'; $("#gcipList").append(gcipTu); $.each(proper,function (i,obj) { var Ospan='<span data-id="0" class="active">所有</span>'; for (key in obj){ attrrow='<div class="row">\n' + ' <div class="left">\n' + ' <p>'+key+'</p>\n' + ' </div>\n' + ' <div class="center showHeight">\n' + ' <p class="spec filterorder shuxing" id="proper'+i+'">\n' + ' </p>\n' + ' </div>\n' + ' <div class="right" onclick="attrmore(this)">\n' + ' <img src="img/genduo.png"> ' + ' </div>\n' + ' </div>'; //obj[key]當屬性值爲漢字時 甜 辣 就是數組 當屬性值爲英文字母時 就是字符串 須要再次切割 if (obj[key].constructor == Array){//判斷屬性的屬性值是否是數組 若是屬性值有多個,就是數組就能夠遍歷不會報錯,若是是一個就不是數組 $.each(obj[key],function (j,tbj) { Ospan+='<span data-id="'+key+'">'+tbj+'</span>'; }) }else if (obj[key].constructor == String){ $.each(obj[key].split(","),function (j,tbj) { Ospan+='<span data-id="'+key+'">'+tbj+'</span>'; }) } else { Ospan+='<span data-id="'+key+'">'+obj[key]+'</span>'; } } $("#gcipList").append(attrrow); $('#proper'+i).append(Ospan); });