天天看點

小程式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   //用中括号包裹這個字元串
    })


           

繼續閱讀