在学习以及开发小程序的过程中时发现:
很多时候在用this.setData时会出现问题。
解决方法: 一般都是在外面定义一个 变量 = this
那么来说一下问题的原因及解决的原理
一、为什么会this.setDate会不起作用
this.setData之所以起作用就是因为this指向于page(全局)
通过全局来设置 Data中的数据
而导致this.setData出错就是因为this没有指向page(全局)。
例如:在使用set.Data时形成了闭包,导致this指针改变了指向。
二、解决方法
- 在外部定义变量 = this(让指针一直指向page(全局)),在内部使用 变量.setData。
- 将函数替换成箭头函数