vue里不同数据的循环,其中的数组对象
用产品的属性数据说明
页面里显示效果为:要把产品的属性显示到页面上,产品属性为后台自主上传产品的属性,产品的属性不同,所以需要把属性和属性值显示到页面上
产品属性数据为:
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里不同数据的循环,其中的数组对象的更多相关文章
- JavaScript怎么把对象里的数据整合进另外一个数组里
https://blog.csdn.net/qq_26222859/article/details/70331833 var json1 = [ {"guoshui":[ 3000 ...
- for 循环 和 Array 数组对象
博客地址:https://ainyi.com/12 for 循环 和 Array 数组对象方法 for for-in for-of forEach效率比较 - 四种循环,遍历长度为 1000000 的 ...
- vue里的数据
背景: 一个项目完工在即,鉴于此,前端使用了vue,写下此栏,以供日后翻阅, 会涉及到我所运用到的vue相关知识,需要一定的js基础. 默认vue的single-file-components(单文件 ...
- vue里面的v-for列表循环
列表渲染 v-for v-for可以把数据中的一个数组对应为一组元素v-for 指令需要以 item in items 形式的特殊语法, items 是源数据数组并且 item 是数组元素迭代的别名. ...
- foreach循环时动态往数组里添加数据
今天在用TP做项目的时候遇到一个问题,foreach的时候需要动态往数组里添加数据,示例代码如下: $arr = array( array('id'=>'字符串1','name'=>'字符 ...
- Vue 核心之数据劫持
前端界空前繁荣,各种框架横空出世,包括各类mvvm框架横行霸道,比如Angular.Regular.Vue.React等等,它们最大的优点就是可以实现数据绑定,再也不需要手动进行DOM操作了,它们实现 ...
- vue实现对数据的增删改查(CURD)
vue实现对数据的增删改查(CURD) 导语: 网上看到一个写的比较好的学习文章,转载分享一下 在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的 ...
- vue响应式数据变化
vue响应式数据变化 话不多说,先上代码: //拷贝一份数组原型,防止修改所有数组类型变量的原型方法 let arrayProto = Array.prototype;// 数组原型上的方法 let ...
- Django数据操作F和Q、model多对多操作、Django中间件、信号、读数据库里的数据实现分页
models.tb.objects.all().using('default'),根据using来指定在哪个库里查询,default是settings中配置的数据库的连接名称. 外话:django中引 ...
随机推荐
- 在IE8的基础上安装IE11
安装包下载 链接:https://pan.baidu.com/s/1WAuyMg_SrfVa0wLjoop5Jw 提取码:nh1r 安装方式 先运行 - EIE11_ZH-CN_WOL_WIN76 ...
- JN_0018:运行窗口不显示
1,新建vbs文件 CreateObject("WScript.Shell").Run "cmd /c E:/OneDrive/NodeJS/WebServer/star ...
- Python 教你 4 行代码开发新闻网站通用爬虫
\ GNE(GeneralNewsExtractor)是一个通用新闻网站正文抽取模块,输入一篇新闻网页的 HTML, 输出正文内容.标题.作者.发布时间.正文中的图片地址和正文所在的标签源代码.G ...
- 阿里支付:User Notice: invalid [default store dir]: /tmp/
主要是因为windows和linux文件系统不一致才导致此错误的.在linux系统上阿里提供的SDK没问题,但在windows上我们做测试或者开发的时候就会遇到这样的错误. 解决方法就是在alipay ...
- mysql错误:Column count doesn't match value count at row 1解决办法
这个错误的意思是存储的数据与数据库表的字段类型定义不匹配,解决办法如下: 1.查看插入数据的类型与表中字段的类型是否匹配2.插入数据的顺序与字段顺序是否匹配3.检查SQL是否拼写错误4.在insert ...
- 微信小程序报错TypeError: this.setData is not a function
今天在练习小程序的时候,遇到小程序报错 对于处于小白阶段的我,遇到这种报错,真还不知道是错从何来,只有一脸蒙逼,后来通过查询,终于知道了问题所在,下面对这一问题做一记录 小程序默认中是这么写的 onL ...
- selenium--find_element_by_xpath()方法汇总
一.从根目录/开始 有点像Linux的文件查看,/代表根目录,一级一级的查找,直接子节点,相当于css_selector中的>号/html/body/div/p 二.根据元素属性选择: 查找具体 ...
- centos 部署 aspnetMVC 网页
在Linux上运行ASP.NET网站或WebApi的传统步骤是,先安装libgdiplus,再安装mono,然后安装Jexus.在这个过程中,虽然安装Jexus是挺简便的一件事,但是安装mono就相对 ...
- C++-基类的析构函数为什么要加virtual虚析构函数(转)
知识背景 要弄明白这个问题,首先要了解下C++中的动态绑定. 关于动态绑定的讲解,请参阅: C++中的动态类型与动态绑定.虚函数.多态实现 正题 直接的讲,C++中基类采用virtual虚析构函数是 ...
- 为什么要使用NoSQL数据库
NoSQL概念 随着web2.0的快速发展,非关系型.分布式数据存储得到了快速的发展,它们不保证关系数据的ACID特性(原子性.一致性.隔离性.持久性,一个支持事务的数据库,必需要具有这四种特性,否则 ...