🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] # 1.setData(相当于把数据传到data里) [https://etianqq.gitbooks.io/-wechat/content/setdata.html](https://etianqq.gitbooks.io/-wechat/content/setdata.html) * setData 函数用于将数据从逻辑层发送到视图层,同时改变对应的 this.data 的值。 > 注意: > 1. 直接修改 this.data 无效,无法改变页面的状态,还会造成数据不一致。 > 2. 单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。 ``` Page({ data: { text: 'init data', array: [{text: 'init data'}], object: { text: 'init data' } }, changeText: function() { // this.data.text = 'changed data' // bad, it can not work this.setData({ text: 'changed data' }) }, changeItemInArray: function() { // you can use this way to modify a danamic data path this.setData({ 'array[0].text':'changed data' }) }, changeItemInObject: function(){ this.setData({ 'object.text': 'changed data' }); }, addNewField: function() { this.setData({ 'newField.text': 'new data' }) } }) ``` ## 注意 setData() 与 setData({}) 的区别 ``` movie = [ {title,name,id}, {title,name,id} , {title,name,id} ] this.setData({ movie }) //传到页面的是 movie=[ {title,name,id} , {title,name,id} , {title,name,id} ] this.setData( movie ) // 传到页面的是 {title,name,id} {title,name,id} {title,name,id} ```