用产品的属性数据说明

页面里显示效果为:要把产品的属性显示到页面上,产品属性为后台自主上传产品的属性,产品的属性不同,所以需要把属性和属性值显示到页面上

产品属性数据为:

properties: "[

{"表面处理":["发黑","发白"]},

{"颜色":["红色","黄色"]},

{"大小":["10mm","20mm"]}

]"

html代码为:

<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);
});

  

vue里不同数据的循环,其中的数组对象的更多相关文章

  1. JavaScript怎么把对象里的数据整合进另外一个数组里

    https://blog.csdn.net/qq_26222859/article/details/70331833 var json1 = [ {"guoshui":[ 3000 ...

  2. for 循环 和 Array 数组对象

    博客地址:https://ainyi.com/12 for 循环 和 Array 数组对象方法 for for-in for-of forEach效率比较 - 四种循环,遍历长度为 1000000 的 ...

  3. vue里的数据

    背景: 一个项目完工在即,鉴于此,前端使用了vue,写下此栏,以供日后翻阅, 会涉及到我所运用到的vue相关知识,需要一定的js基础. 默认vue的single-file-components(单文件 ...

  4. vue里面的v-for列表循环

    列表渲染 v-for v-for可以把数据中的一个数组对应为一组元素v-for 指令需要以 item in items 形式的特殊语法, items 是源数据数组并且 item 是数组元素迭代的别名. ...

  5. foreach循环时动态往数组里添加数据

    今天在用TP做项目的时候遇到一个问题,foreach的时候需要动态往数组里添加数据,示例代码如下: $arr = array( array('id'=>'字符串1','name'=>'字符 ...

  6. Vue 核心之数据劫持

    前端界空前繁荣,各种框架横空出世,包括各类mvvm框架横行霸道,比如Angular.Regular.Vue.React等等,它们最大的优点就是可以实现数据绑定,再也不需要手动进行DOM操作了,它们实现 ...

  7. vue实现对数据的增删改查(CURD)

    vue实现对数据的增删改查(CURD) 导语: 网上看到一个写的比较好的学习文章,转载分享一下 在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的 ...

  8. vue响应式数据变化

    vue响应式数据变化 话不多说,先上代码: //拷贝一份数组原型,防止修改所有数组类型变量的原型方法 let arrayProto = Array.prototype;// 数组原型上的方法 let ...

  9. Django数据操作F和Q、model多对多操作、Django中间件、信号、读数据库里的数据实现分页

    models.tb.objects.all().using('default'),根据using来指定在哪个库里查询,default是settings中配置的数据库的连接名称. 外话:django中引 ...

随机推荐

  1. Linux——基础之vi编辑器,编辑器之神!

    VI编辑器是什么? 我们学了怎么多的命令,都是为了我们的linux系统和远程操作的方便,那么我们现在怎么,编辑服务器上的文件和软件呢? 换句话说,就是我们如何通过命令行去完成文本和代码的编写,和系统的 ...

  2. 移动Web开发-WebApp(flex布局+移动端导航案例)

    实际开发中的像素:css像素设备像素比dpr=设备像素/css像素标清屏dpr=1 高清屏dpr=2缩放改变的是css像素大小PPI(每英寸的物理像素点)=根号(屏幕横向分辨率²+屏幕纵向分辨率²)/ ...

  3. Hadoop集群初步搭建:

    自己整理了一下Hadoop集群简易搭建的过程,感谢尚观科技贾老师的授课和指导! 基本环境要求:能联网电脑一台:装有Centos系统的VMware虚拟机:Xmanager Enterprise 5软件. ...

  4. JavaDay10(下)

    生产者消费者问题 问题描述 有两个进程:一组生产者进程和一组消费者进程共享一个初始为空.固定大小为n的缓存(缓冲区).生产者的工作是制造一段数据,只有缓冲区没满时,生产者才能把消息放入到缓冲区,否则必 ...

  5. Centos7 修改/etc/profile错误后导致所有命令“not found”

    因为Centos7中运行着两个版本的php,今天在设置环境变量时导致所有命令都 "not found". 修复方式: 第一:执行 /bin/vi /etc/profile 把文件修 ...

  6. Android 基础知识 -- BroadcastReceiver

    BroadcastReceiver 广播,是一种事件传递机制,可以跨应用进行事件传递(系统级). 在使用广播的时候,不宜添加过多的逻辑或者耗时(广播内不允许开辟线程)操作,超过10秒,导致ANR 1 ...

  7. C语言实现链式二叉树静态创建,(先序遍历),(中序遍历),(后续遍历)

    #include <stdio.h>#include <stdlib.h> struct BTNode{ char data ; struct BTNode * pLchild ...

  8. 给静态网站的链接添加nofollow属性

    给网站的链接添加nofollow属性对SEO非常有效,如果是动态网站,实现的方法比较多,但是对于静态网站来说只能借助CSS或者JS来实现,单纯的CSS实现需要覆盖所有的链接出现位置:JS与CSS结合则 ...

  9. Docker最全教程——从理论到实战(十八)

    前言 VS Code是一个年轻的编辑器,但是确实是非常犀利.通过本篇,老司机带你使用VS Code玩转Docker——相信阅读本篇之后,无论是初学者还是老手,都可以非常方便的玩转Docker了!所谓是 ...

  10. php中的require和include区别

    require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require 1.require 的使用方法如 require("MyRequireFile.p ...