收藏
回答

setData如何使用ES6的模版字符串当作数据路径?直接写会报错

下面这么写会报错。

this.setData({`menuList[${cateIndex}].badgeProps.count`:10})

只能下面这么写吗?

const cateCountKey = `menuList[${cateIndex}].badgeProps.count`

const cateCount = this.data.menuList[cateIndex].badgeProps.count + (checked?1:-1)


this.setData({

[cateCountKey]:cateCount

})


回答关注问题邀请回答
收藏

2 个回答

  • showms
    showms
    2023-08-28

    应该是得这样

    this.setData({[`menuList[${cateIndex}].badgeProps.count`]:10})


    2023-08-28
    有用
    回复 1
    • 2023-08-28
      你是对的,不是小程序的原因。ES6的模版字符串还是个表达式,我误以为是个字符串字面量了
      2023-08-28
      回复
  • 跨商通
    跨商通
    2023-08-28

    报错的那句,也加上中括号呢?

    2023-08-28
    有用
    回复 1
    • 2023-08-28
      你是对的。我理解的是:模版字符串也相当于表达式,得加上中括号,让引擎先去运算
      2023-08-28
      回复
登录 后发表内容