搞不懂for in循环中,key的值

  用axios提取出本地的json文件,格式如下
  
  "Merch": {
"hamburger": {
  "1": {
    "goodsImg": "http://7xjyw1.com1.z0.glb.clouddn.com/pos001.jpg",
    "goodsName": "香辣鸡腿堡",
    "price": 18
  },
  "2": {
    "goodsImg": "http://7xjyw1.com1.z0.glb.clouddn.com/pos002.jpg",
    "goodsName": "田园鸡腿堡",
    "price": 15
  }
},
"friedChicken": {
  "3": {
    "goodsImg": "http://7xjyw1.com1.z0.glb.clouddn.com/pos003.jpg",
    "goodsName": "大包薯条",
    "price": 18
  },
  "4": {
    "goodsImg": "http://7xjyw1.com1.z0.glb.clouddn.com/pos002.jpg",
    "goodsName": "脆皮炸鸡腿",
    "price": 20
  }
}



axios
  .get("/static/data/Merch.json")
  .then(response => {
    let Merchs = response.data.Merch;
    for (let key in Merchs) {
      let eph = Merchs[key];
      this.typeMerch.key=eph;
    }        
  })
  
  console.log(key),打印出来的是hamburger和frideChicken;
  但是下面想添加进属性里,key却变成了字符串
  为什么啊
  有大大可以解释一下吗
  
  
阅读 3.3k
3 个回答

this.typeMerch[key]=eph;这样?其实我没大看懂问题。。。

属性的设置可以使用.[]两种方式,使用.作为属性运算符,右侧必须是一个以属性名命名的标识符,方括号内可以是表达式。将.运算符改为[]

this.typeMerch.key=eqh的意思是this.typeMerch有一个属性名为key的属性,可以写成this.typeMerch[key]=eqh

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题