收藏
回答

微信小程序如何将字符串转化成变量吖?eval函数用不了吖

在使用setData的时候的value想用字符串拼接的变量去表示如何做到???万分感谢!

最后一次编辑于  2018-09-14  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

3 个回答

  • 无敌奶爸、啊
    无敌奶爸、啊
    2018-09-14

    es6语法


    let varName = 'foo'

    let data = {}


    data[[varName]] = 'yes'


    console.log(data)// {"foo": "yes"}

    2018-09-14
    赞同
    回复 4
    • 李志信
      李志信
      2018-09-14

      我想转化的是value,不是key。您所说的这个是转化key的

      2018-09-14
      回复
    • 无敌奶爸、啊
      无敌奶爸、啊
      2018-09-14回复李志信

      你想

      var str = 'a = 1'

      eval(str) 这种?


      为什么不给出你的代码呢?

      2018-09-14
      回复
    • 李志信
      李志信
      2018-09-14回复无敌奶爸、啊

      是的 是您说的那种。 code: data:{ needed:null; menu:[ item1:[{id:0,        ref:"text"       },       {id:1,        ref:"text"       }      ] ] } func1:function(var1,var2){ var a = `menu.${var1}[${var2}].ref`; this.setData({ needed:a   //我需要a获取的是一个动态取出来的值,但这样needed接收的只是一个字符串类型的值 }) }

      2018-09-14
      回复
    • 李志信
      李志信
      2018-09-14回复李志信

      sorry,code不懂怎么格式化

      2018-09-14
      回复
  • 明
    2018-09-14

    let key = 'test';

    this.setData({     [key] : 'aa' }}

    2018-09-14
    赞同
    回复 2
    • 李志信
      李志信
      2018-09-14

      我想转化的是value,不是key。您所说的这个是转化key的。

      2018-09-14
      回复
    • 明
      2018-09-14

      let val = 'test' this.setData({

          a:`str${val}`

      })

      试试这个 val是变量

      2018-09-14
      回复
  • 三世羽翾
    三世羽翾
    2018-09-14

    1、let a = b+c;

    this.setData({

    d:a

    });

    2、this.setData({

    d:b+c

    });

    2018-09-14
    赞同
    回复