vue遍历Map,Map在vue中的使用方法

Map在vue中的使用方法:

html:遍历的时候要遍历两遍

<template>
  <div class="course">
       <div class="">
           <div class="pt0 ctRow">
                <ul class="ctNavbar">
                    <li class="ctA"
                        v-for="(item,index) in courseTypeList"
                        :key="item.id"
                        @click="selectedCur(index)" :class="{ cur:cur == index }"
                        :data-id="item.id"
                    >
                        {{item.courseTypeName}}
                    </li>
                </ul>
           </div>
           
           <!--Map遍历两遍 -->
            <div class="ctRow date_navbar">
                <a href="javascript:;"
                   v-for="(item,index) in dateMap"
                   :key="index"
                   @click="dataCur(index)" :class="{ cur:active == index }"
                >
                    <span  v-for="data in item">{{data}}</span>
                </a>
            </div>
       </div>
  </div>
</template>

js:

  data(){
            return{
             	cur: "0",
                active:"0",
                courseTypeList: [],
                dateMap:{},
            }
        },
 mounted(){
  		// 后端返回json
          var jsonStr ={
			    "code": 0,
			    "msg": "success",
			    "data": {
			        "courseTypeList": [
			            {
			                "id": "16",
			                "courseTypeName": "小一班"
			            },
			            {
			                "id": "15",
			                "courseTypeName": "中一班"
			            },
			            {
			                "id": "14",
			                "courseTypeName": "大一班"
			            }
			        ],
			        "dateKeys": [
			            "二·11.26",
			            "三·11.27",
			            "四·11.28",
			            "五·11.29",
			            "六·11.30",
			            "日·12.01",
			            "一·12.02"
			        ]
			    }
			}
            // 遍历班级类型
            for (var i = 0; i < jsonStr.data.courseTypeList.length; i++) {
                var courseTypeList = jsonStr.data.courseTypeList[i];
                this.courseTypeList.push(courseTypeList)
            }

            // 遍历日期
            //初始化Map对象
            var dateMap = new Map();
            for (var i = 0; i < jsonStr.data.dateKeys.length; i++) {
                var data = jsonStr.data.dateKeys[i];
                	//用split连在一起的字符串切割 "三·11.27"
                   //使用set添加键值示例:m.set('小红', 30);
                dateMap.set(data.split("·")[0], data.split("·")[1]);
            }
            this.dateMap = dateMap;
        },

css:

  .ctNavbar{
        display: flex;
        align-items: center;
        justify-content: space-between;
        text-align: center;
        .ctA{
            padding: 10px 0;
            color: #202020;
            font-size: 1.5rem !important;
            border-bottom: 2px solid transparent;
            width: 33%;
            &.cur{
                color: #BA0932;
                border-bottom: 2px solid #BA0932;
            }
        }
    }
       .date_navbar {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        a {
            width: 32px;
            -webkit-box-flex: 1;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-direction: column;
            font-size: 9px;
            color: #6C6C6C;
            padding: 2px 5px;
            flex: 1;
            span {
                display: block;
                -webkit-box-flex: 1;
            }
            &.cur {
                background: #BA0932;
                color: #fff;
                border-radius: 16px;
            }
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Vue的v-for指令来遍历Map对象,然后使用ES6的解构语法获取Map的key和value。 例如,假设我们有一个Map对象: ``` const myMap = new Map([ ['key1', 'value1'], ['key2', 'value2'], ['key3', 'value3'] ]) ``` 我们可以在Vue模板使用v-for指令来遍历这个Map对象: ``` <template> <div> <ul> <li v-for="(value, key) in myMap" :key="key"> {{ key }}: {{ value }} </li> </ul> </div> </template> ``` 在这个例子,我们使用了ES6的解构语法来获取Map的key和value。在v-for指令,我们将value放在前面,key放在后面,这样就可以正确地获取Map的key和value了。 注意,在v-for指令,我们需要使用:key属性来指定每个li元素的key值,这样Vue才能正确地跟踪每个元素的状态。 ### 回答2: Vue是一款流行的JavaScript框架,它提供了一种简单而直观的方式来操作DOM,并将应用程序的数据与其视图保持同步。Vue 遍历 map 并获取key和value,是在Vue实现数据绑定的过程非常常见的操作。下面介绍如何使用Vue遍历map并获取key和value。 首先,我们应该了解一下在JavaScript如何创建和遍历一个Map。在JavaScriptMap是一种非常有用的数据类型,可以将键映射到值上,而不需要像对象那样具有字符串键的限制。我们可以使用空的Map()构造函数创建一个新的空Map。接下来使用set()方法可以添加一个键值对到Map。最后,我们可以使用for...of循环来遍历Map获取键和值。 下面是具体步骤: 1.创建一个Map,并向其添加一些键值对: ``` let myMap = new Map() myMap.set('key1', 'value1') myMap.set('key2', 'value2') myMap.set('key3', 'value3') ``` 2. 使用v-for指令遍历Map: ``` <template> <div> <ul> <li v-for="(value, key) in myMap" :key="key"> Key: {{ key }}, Value: {{ value }} </li> </ul> </div> </template> <script> export default { data() { return { myMap: new Map([ ['key1', 'value1'], ['key2', 'value2'], ['key3', 'value3'] ]) } } } </script> ``` 使用v-for指令,我们可以使用 `(value, key) in myMap`快速遍历Map所有的键值对,`value`对应键值对的值,`key`对应键值对的键。通过在li元素绑定key属性,我们可以让Vue自动为每个列表项提供唯一的key。这有助于 Vue 轻松地进行更新DOM。 上述代码使用的是ES6语法,如果需要兼容IE等旧浏览器,在使用过程需对其进行转换。 总之,使用Vue进行Map遍历并获取key和value非常简单。与普通的JavaScript语法相比,Vue数据绑定的优雅语法和语法糖使代码更加直观易懂,提高了开发效率。 ### 回答3: Vue是一种用于构建用户界面的渐进式JavaScript框架。在Vue,我们可以使用v-for指令来遍历数组或对象。但是如果你需要遍历一个Map对象,该怎么办呢?本文将介绍如何在Vue遍历Map对象并获取其key和value。 一、创建一个Map对象 在Vue遍历Map对象之前,我们需要先创建一个Map对象。以下是一个简单的例子: ``` let myMap = new Map(); myMap.set('key1', 'value1'); myMap.set('key2', 'value2'); myMap.set('key3', 'value3'); ``` 二、在Vue使用v-for指令遍历Map对象 我们可以使用v-for指令来遍历Map对象。以下是一个示例: ``` <template> <div> <ul> <li v-for="(value, key) in myMap" :key="key"> {{ key }}: {{ value }} </li> </ul> </div> </template> ``` 在上面的代码,我们使用v-for指令对myMap对象进行遍历。在v-for指令,我们使用括号括起来的value和key来获取Map对象的value和key。在模板,我们可以使用{{ key }}和{{ value }}的方式来获取它们。 三、遍历Map对象的原理 在ES6遍历Map对象可以使用以下方法: ``` for (let [key, value] of myMap) { console.log(key + ' = ' + value); } ``` 我们可以使用相同的方法Vue遍历Map对象。在v-for指令后面,我们使用括号括起来的value和key来获取Map对象的value和key。 总结 在Vue使用v-for指令可以遍历数组和对象。但是如果你需要遍历Map对象并获取其key和value,可以使用括号括起来的value和key来实现。了解了这些基础知识,我们可以更轻松地在Vue操作Map对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值