• 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">
    ' +
                '            <img src="'+data.t.goodsInfo.mainPhotoUrl+'" alt="">
    ' +
                '        </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">
    ' +
                        '                        <div class="left">
    ' +
                        '                            <p>'+key+'</p>
    ' +
                        '                        </div>
    ' +
                        '                        <div class="center showHeight">
    ' +
                        '                            <p class="spec filterorder shuxing" id="proper'+i+'">
    ' +
    
                        '                            </p>
    ' +
                        '                        </div>
    ' +
                        '      <div class="right"  onclick="attrmore(this)">
    ' +
                        '           <img src="img/genduo.png"> ' +
                        '      </div>
    ' +
                        '                    </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);
            });
    

      

  • 相关阅读:
    uniapp 小程序 获取位置信息
    笔记本使用命令创建wifi
    vue 解决跨域问题
    uniapp 条件编译
    谷歌浏览器解决跨域
    MindManager离线安装包官网下载
    Golang Gitee Webhook 签名验证
    Debian11 Gnome 安装搜狗输入法
    ElasticSearch Java 客户端请求超时
    动态sql,动态实体
  • 原文地址:https://www.cnblogs.com/PotatosMe/p/12162418.html
Copyright © 2020-2023  润新知