收藏
回答

this.setData的性能问题

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 需求 setData 客户端 最新 2.5.1

that.setData({

'cardData.id': editCardData.id,

'cardData.name': editCardData.name,

'cardData.mobile': editCardData.phone,

'cardData.email': editCardData.email,

'cardData.cardStyle': editCardData.card_style,

'cardData.company': editCardData.company,

'cardData.title': editCardData.title, ...

}) 和

that.setData({

cardData: editCardData, //大对象

}) 请问这两个有区别么,哪个更好?


最后一次编辑于  01-29  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

12 个回答

  • 管凯旋
    管凯旋
    01-29

    多无聊才会拆成第一种写法,时间不要钱吗

    01-29
    赞同 9
    回复
  • LastLeaf
    LastLeaf
    01-31

    这个是看你设置的实际内容的。如果第一种只是把第二种大对象的所有子字段拆开来写,那没有区别的……


    如果你只是想设 cardData 下很小的一部分,第一种才会比较好。

    01-31
    赞同 1
    回复 1
    • LastLeaf
      LastLeaf
      01-31

      补充:除非你真的要求很严苛,要不然没有必要考虑这样做优化。

      01-31
      回复
  • 六点水的凹凸曼
    六点水的凹凸曼
    02-01

    如果你只更新第一种里的一两个,选第一种,你要更新那么多,第二种吧,就算第一种快我也选第二种,嫌累得慌

    02-01
    赞同 1
    回复
  • 微盟
    微盟
    01-29

    选择第二种,从后台取到的数据会放在一个对象里面,方便做渲染和数据操作

    01-29
    赞同 1
    回复
  • Jimmy
    Jimmy
    01-29

    单从代码体积来看,我会毫不犹豫用 第二种

    01-29
    赞同 1
    回复
  • 七星顶的椰果
    七星顶的椰果
    02-03

    php最大的动力是什么哈?

    02-03
    赞同
    回复
  • 尬尬尬ga车
    尬尬尬ga车
    02-02

    写那么多代码不累吗

    02-02
    赞同
    回复
  • 肩上蝶
    肩上蝶
    02-02

    单元测试写到想哭,许多方法测试不到,覆盖率。。。然后只能提取到service,but一堆要来回setData的数据。。。

    02-02
    赞同
    回复
  • mier
    mier
    02-02

    this.setData( { cardData: Object.assign( {}, cardData, editCardData) } )

    02-02
    赞同
    回复 1
    • mier
      mier
      02-02

      我觉得这样更好点

      02-02
      回复
  • 卢
    02-02

    果断第二种,修改里面的某些值还不如for循环遍历下来得快

    02-02
    赞同
    回复

正在加载...