请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

页面data和onload加载顺序以及this.data和this.setData同异步问题

老师请问一下,页面中的data是在页面加载时对视图层进行渲染,而onLoad函数是在页面加载时触发,那么这个两个步骤是谁先进行呢?还是说同时进行。问这个问题是如果在data定义了一个变量a设置为true,在onload函数里面改变这个变量a为false,那么页面显示的这个a到底是true还是false呢,我自己试了一下如果在onload函数里面用this.data.a改变的话,结果仍然是true,但是用this.setData改变的话结果就变为false了,希望老师解释一下,这究竟是data和onload加载顺序的问题还是改变数据方法同步和异步的问题呢?(顺便问一下老师setData是异步方法么)

正在回答

1回答

7七月 2019-03-11 11:49:51

this.data不能用于数据绑定,数据绑定只能用this.setData。这是没有改变的本质原因,而不是谁前谁后,异步哪里有准确的谁前谁后呢?

0 回复 有任何疑惑可以回复我~
  • 提问者 夏河文化 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-03-11 12:03:16
  • 提问者 夏河文化 #2
    既然没有准确的前后关系,那是如何保证setData改变数据一定出现在data已经渲染完之后,onload里面会不会出现先setData再data渲染导致setData无效的问题啊
    回复 有任何疑惑可以回复我~ 2019-03-11 12:06:59
  • 7七月 回复 提问者 夏河文化 #3
    this.data 是无效的,即使先setData也不会出现赋值失败。而且理论上不会出现你说的情况。
    回复 有任何疑惑可以回复我~ 2019-03-11 12:09:37
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信