微信小程序 data 赋值

1. name:‘’

data: {
    
    
    name: '',
    },
    this.setData({
    
    
    	name: 'fuzhi'
    })

2. count:0

data: {
    
    
    name: '',
    },
    this.setData({
    
    
    	count: this.data.count+1
    })

3. user:{ name: ‘’, age: 0, },

data: {
    
    
	    user:{
    
    
	      name: '',
	      age: 0,
    	},
    },
var name = "user.name";
var age = "user.age";

    this.setData({
    
    
    	[name] : "username",
		[age] : 15,
    })

4. list : [ { } ,{ } ]

data: {
    
    
	   list: [],
	   temp:{
    
    
	      name: '',
	      age: 0,
    	},
    },
var name = "temp.name";
var age = "temp.age";

    this.setData({
    
    
    	[name] : "username",
		[age] : 15,
    })

1. 数组 push

this.data.list.push(JSON.parse(JSON.stringify(this.data.temp)))

2. 给数组 第 i 个元素 赋值

	var i =  ;  自己确定 i 的值
	
    var list = "list[" + i + "]"
    var a = JSON.parse(JSON.stringify(this.data.temp))
    
    this.setData({
    
    
        [list]: a
    })

3. 给数组 第 i 个元素 的某个属性 赋值

	var i =  ;  自己确定 i 的值
	
    var list = "list[" + i + "].name"
    
    this.setData({
    
    
        [list]: "fuzhi"
    })

5. 数组 push 的问题

1. xx.push 不是函数

数组是 [ ] 这个,只有 [ ] 才能用push
大部分错误 都是因为 { }

2. 最后一次push的内容 覆盖 前面的内容

深拷贝、浅拷贝问题
使用 JSON.stringify 转换成字符串,再用 JSON.parse 转换为对象

this.data.temp.push(JSON.parse(JSON.stringify(this.data.temp)))


若有错误,感谢指出~

猜你喜欢

转载自blog.csdn.net/tfnmdmx/article/details/119850608