小程序系列2-setData修改数据

小程序系列2-setData修改数据

个人学习和记录使用,如有错误欢迎指正。

一、双向绑定 model:value

小程序数据是单向绑定的,在input标签中,利用model:value可以是实现双向绑定。

<input type="text" model:value="{{inputValue}}"/>
Page({
	data:{
		inputValue:'input的值'
	}
})

在页面input中改变input值,data里的inputValue的值也会发生变化,进而实现数据的双向绑定。
注意:{{inputValue}}只能是变量名,不能是字符串+变量名,不能是对象.key的值

二、单向绑定 setData改变数据的值

setData()是个函数,接受一个对象,对象是key:value的格式。
key是data里的key,value是要赋值的值。
基本逻辑就是定义一个新赋值的变量,在setData函数中,新变量就是对应的value。

1.改变数组

代码如下(示例):

Page({

  /**
   * 页面的初始数据
   */
  data: {
    list:['1','2','3' ],
  },
  changeData() {
    this.list.push('6') // 方法一
    let newList = [...this.data.list, 6] // 方法二
    let newList = this.data.list.concat('6') // 方法三
    this.setData({
    	list: this.list // 对应方法一
    	list: newList // 对应方法二/三
   })
 }
})

2.改变对象

代码如下(示例):

Page({

  /**
   * 页面的初始数据
   */
  data: {
     obj:{
      a: 'shijie'
    }
  },
  changeData() {
 	// 方式一
    this.setData({
     "obj.a":'世界'
    })
    // 方式二
    let newObj = {
      ...this.data.list,
      a:'世界'
    }
    // 方式三
    let newObj = Object.assign(this.data.obj,{a:'世界'})
    this.setData({
      obj:newObj
    })
 }
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值