小程序this.setData使用

小程序无法通过this.data.a = ***这种直接的形式改变某个值,特别是对象或者数组的改变稍微麻烦点,可以使用如下方法

 Page({
      data: {
        array: [{text: 'init data'}],
        goods: [
            {id: 1,pic: '/image/goods1.png'},
            {id: 1,pic: '/image/goods1.png'}
           ],
      },
      onLoad:function(options){   
	    let id = options.id
	    let index = 1
	    let str = "goods["+index+"].id"; //直接拼接成字符串
	    this.setData({
	        [str]:id   //用中括号包裹这个字符串
	    })
	}
      changeItemInArray: function() {
        this.setData({
          'array[0].text':'changed data'
        })
      }
    })

有时候想给属性值的对象或者数组进行赋值,例如给data.goods.id进行赋值,就要用另外的方式

Page({
  data:{
    goods: {
      id: 1,
    },
  },
 
  onLoad:function(options){   
    let id = options.id;
    let str = "goods.id"; //直接拼接成字符串
    this.setData({
        [str]:id   //用中括号包裹这个字符串
    })


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值