最近总结了一个写代码的方法,如题:
从结果中寻找方法

先举一个简单的例子:
因为在目前所在的公司,经常会有这样一个阶段。
先前端写demo,json数据都自己去造,包括一些随机性的pageList,简单的还好,遇到一些复杂的,就有点懵。
以前都是后端规定好json格式后,自己只简单的复杂渲染,或者重组就行了,写demo相当于自己既是前端,也是一个小型的后端。

比如:

这是一个很简单的list,混合一个tab。
针对具体的tab,我造的list的json如下:

[
  changePath: [], // 转化路径
  changeTimes: { // 转化次数
    number: '', // 值
    percent: '' // 占比
  },
  changePersons: { // 转化人数
     number: '', // 值
    percent: '' // 占比
  },
  changeValues: { // 转化价值
   number: '', // 值
   percent: '' // 占比
}
]

再来一个复杂的:
增加了一个细分维度,table变成了一个带有children的父子包含关系的json

,根据ant-d的父子table的json格式来造数据,就是这样的。
偷懒下,直接截图了,其实母本都一样,都是最开始那个json-item数据来拓展的。

可以看出,children内部是一个小的循环,循环的变量肯定是所选择的细分维度,
chirdren内部的item跟母体的item一一对应,这样在render的时候,就可复用了。

看一个复杂的:

对应的json格式:

由于出现了两个【次数、价值】,可能还会出现3个、4个,所以根据changeTimes和changeValues 已经满足不了我的需求。
一开始这里我没理清,所以造出来的demo数据都是相同的。
仔细看,他们的不同在于modals模型不同,【次数和价值】被同一个模型所公用,所以立刻想到了应该循环modals,而且需要用modals的value来做index索引(不然这里的命名无法动态化)。

再看一个更复杂的:

对应的json格式:

其实要说他复杂,无非就是多了一个children,但children内部的item是需要跟母体的item保持一致的.所以其实理解了第一个母体,结合最后一个渲染的结果json,找准内部的变量是如何生成的,比如需要通过模型来循环得到?还是需要通过细分维度来循环得到,就迎刃而解了。


健儿
79 声望4 粉丝

掌握好原生js。