zoukankan      html  css  js  c++  java
  • js对象添加动态属性

    在业务中,经常会遇到使用同个方法调用多个同类型接口,以下简单模拟两个API接口

     1 // api-1
     2 {
     3    code: 0,
     4    status: 200,
     5    title: 'web前端框架',
     6    list: [
     7      {id: 1, name: 'React'},
     8      {id: 2, name: 'Vue'},
     9      {id: 3, name: 'Angular'}
    10    ] 
    11 }
    12 
    13 
    14 // api-2
    15 
    16 {
    17    code: 0,
    18    status: 200,
    19    title: '后端框架',
    20    list: [
    21      {id: 4, name: 'Laravel'},
    22      {id: 5, name: 'Django'},
    23      {id: 6, name: 'Flask'}
    24    ]
    25 }
    26 

    前端请求

    1. 声明接收数据的空对象

    1 let front_end = {}
    2 let back_end = {}

    2. 使用ajax或则相关插件(axios, fetch等)请求API数据, 这里略过直接拿到数据分别赋值给response1, response2

      其实这里相当于实际项目中 ,请求api接口得到的res返回数据

     1 let respone1 = {
     2         code: 0,
     3         status: 200,
     4         title: 'web前端框架',
     5         list: [
     6             { id: 1, name: 'React' },
     7             { id: 2, name: 'Vue' },
     8             { id: 3, name: 'Angular' }
     9         ]
    10 }
    11 
    12 let respone2 = {
    13      code: 0,
    14      status: 200,
    15      title: '后端框架',
    16       list: [
    17             { id: 4, name: 'Laravel' },
    18             { id: 5, name: 'Django' },
    19             { id: 6, name: 'Flask' }
    20         ]
    21 }

    3.  创建处理数据方法

    function getList(res, key) {
      let temp= {}  // 声明一个临时对象
      temp[key] = res.list   // 将返回的数据赋值给对象的属性key
      console.log(temp)
    }

    4. 调用方法

    1 getList(respone1, 'front_end')
    2 getList(respone2, 'back_end')

    得到的结果如下

    到此,就可以使用front_end和back_end对象分别填充模板页面 了。

    总结:

    1. 这里使用javascript对象的动态属性, 绑定到指定的对象,

    2. 避免了同类型接口需要多个处理方法。

    3. 上述key值,必须和初始化的对象名相同,否则不能直接使用对象

  • 相关阅读:
    Android 解析内存泄漏
    Maven--几个需要补充的问题(三)
    android编程——百度地图初探
    poj 2752 Seek the Name, Seek the Fame(KMP需转换下思想)
    android面试题之二
    (3)选择元素——(2)文档对象模型(The Document Object Model)
    Tiny4412汇编流水灯代码,Tiny4412裸机LED操作[1]
    A9裸机
    2.1 linux中uboot移植
    芯片结构
  • 原文地址:https://www.cnblogs.com/hughes5135/p/10307720.html
Copyright © 2011-2022 走看看