我不理解的地方在于
1、this.data.xxx = yyy,这样的赋值操作印象中应该可以的啊,因为多用setData会造成性能问题,
我印象中this.data.xxx = yyy这样的赋值方法仅仅是不会即时显示在模版上,而setData是会即时显示在模板上,我的理解有不对的么?
2、如图当我在onload方法中赋值了objtmp后,我没在继续操作这个变量了,为什么在buttonclick方法中我改变obj,也会使得objtmp发生变化?
我不理解的地方在于
1、this.data.xxx = yyy,这样的赋值操作印象中应该可以的啊,因为多用setData会造成性能问题,
我印象中this.data.xxx = yyy这样的赋值方法仅仅是不会即时显示在模版上,而setData是会即时显示在模板上,我的理解有不对的么?
2、如图当我在onload方法中赋值了objtmp后,我没在继续操作这个变量了,为什么在buttonclick方法中我改变obj,也会使得objtmp发生变化?
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答875 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
倒是没有研究过setData的具体实现,但是根据现象猜测setData内部在对data的赋值上依然保留原始的js逻辑,只是会多一个往视图层更新数据的逻辑。也就是说,如果抛开视图,setData({obj: param})等同于 this.data.obj = param;那么就不难理解为什么会出现这样子的情况。以上纯属猜测