this.data.xxx=xxx 与 this.setData的区别,为什么我用this.data页面没有渲染出来?

来源:18-3 template模板的使用

快乐的小牛妞

2018-12-18

var postsData = require('../../data/posts-data.js')
Page({
  /**
   * 页面的初始数据
   */
  data: {
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function () {
      //this.data.postList = postsData.postList
    this.setData({
        posts_key: postsData.postList
    })
  }
})

我这里用this.data.xxx数据能获取到,但页面并没有渲染出来。
用this.setData方法可以,这两者的区别怎么理解?

写回答

1回答

快乐的小牛妞

提问者

2018-12-18

自己理解了

this.data与this.setData的关系就是this.setData里面存储的是this.data的副本,而界面是从this.setData里面托管的this.data的副本取数据的。所以我们更改this.data并不会直接更新界面,因为这个时候的this.setData里面的副本还是没有更新前的

3
0

微信小程序入门与实战(全新版) 超20000人学习的好课

4年同步微信官方迭代,累计20000+人学习, 比微信官方更火爆!

23963 学习 · 6930 问题

查看课程