对象部分属性更新
在data中有一个person对象,包含age和name两个属性,如何只更新其中的一个属性呢,比如年龄要变大但是姓名不变:
Page({
data: {
person: {
age: 18,
name: "LiMing"
}
},
onLoad: function(options) {
console.log(JSON.stringify(this.data.person))
//采用这种方法会使得,person所有属性刷新,但如果某一属性没有赋值,那么刷新后就是空值或者是默认值
var person = {
age: 19,
name: "LiLei"
}
this.setData({
person: person
})
console.log(JSON.stringify(this.data.person))
//采用下面这种方法会使得person的某一个属性刷新,不会影响其他的属性
var self = this
this.setData({
"person.age": ++self.data.person.age
})
console.log(JSON.stringify(this.data.person))
}
})
上面代码打印结果就是:
{“age”:18,“name”:“LiMing”}
{“age”:19,“name”:“LiLei”}
{“age”:20,“name”:“LiLei”}
圆形头像、边框
我们使用opendata数据来展示头像的时候可以使用下面简单的代码来定义圆形头像以及白色边框等:
<!--wxml代码 -->
<open-data class="avatar" type="userAvatarUrl"></open-data>
<!-- wxss代码 -->
.avatar {
display: flex;
width: 120rpx;
height: 120rpx;
border-radius: 50%;
overflow: hidden;
border: 1rpx solid #fff;
}