@June @凌云摘星傲苍穹 经测试,在 SDKVersion v2.2.2 以下,如果页面引用了自定义组件,则 setData 是只读,否则可被覆写。 SDKVersion v2.2.3 以上,setData 可被覆写。 代码片段:wechatide://minicode/sWefXimJ7s3e 附提交个小 bug: 微信开发者工具 v1.02.1809260,调试基础库选择 2.2.5 时,wx.getSystemInfoSync() 返回的 SDKVersion 是 2.2.4。
请教官方回应一下是否要将 setData API 修改为只读- 需求的场景描述(希望解决的问题) 因为官方没有为 Page 和 Component 提供 computed 和 watch 属性,所以个人通过重新封装 setData 方法实现了这部分功能。 今天换了个电脑,重新安装了开发者工具后发现页面报错,原因是无论是 Page 还是 Component 的 setData 方法都已经变成只读属性,没有办法覆写该属性。 发现 setData 变成只读属性的微信开发者工具:Mac 版 v1.02.1809260 发现 setData 属性可以被覆写的微信开发者工具:Mac 版 v1.02.1809111 - 希望提供的能力 欲哭无泪啊,API 属性修改要不要这么任性啊!两个这么小的版本之间更改了这么重要的特性,项目受影响很大啊!!~~请官方给一个明确的说法吧!希望不要将 setData 变成只读属性。 [代码]VM3102:1 thirdScriptError[代码][代码]Cannot assign to read only property [代码][代码]'setData'[代码] [代码]of object [代码][代码]'#<r>'[代码][代码]; [Component] Lifetime Method Error @ publicComponents/EnsureLogin/index#a[代码][代码]TypeError: Cannot assign to read only property [代码][代码]'setData'[代码] [代码]of object [代码][代码]'#<r>'[代码][代码] [代码][代码]at r.a (http:[代码][代码]//127.0.0.1:59968/appservice/deps.js:415:139)[代码][代码] [代码][代码]at r.safeCallback (http:[代码][代码]//127.0.0.1:59968/appservice/__dev__/WAService.js:14:10521)[代码][代码] [代码][代码]at r.call (http:[代码][代码]//127.0.0.1:59968/appservice/__dev__/WAService.js:14:10285)[代码][代码] [代码][代码]at t (http:[代码][代码]//127.0.0.1:59968/appservice/__dev__/WAService.js:14:23150)[代码][代码] [代码][代码]at t (http:[代码][代码]//127.0.0.1:59968/appservice/__dev__/WAService.js:14:23463)[代码][代码] [代码][代码]at t (http:[代码][代码]//127.0.0.1:59968/appservice/__dev__/WAService.js:14:23405)[代码][代码] [代码][代码]at c (http:[代码][代码]//127.0.0.1:59968/appservice/__dev__/WAService.js:14:23473)[代码][代码] [代码][代码]at Function.u.pretendAttached (http:[代码][代码]//127.0.0.1:59968/appservice/__dev__/WAService.js:15:1227)[代码][代码] [代码][代码]at Object.t.attachView (http:[代码][代码]//127.0.0.1:59968/appservice/__dev__/WAService.js:16:20286)[代码][代码] [代码][代码]at D (http:[代码][代码]//127.0.0.1:59968/appservice/__dev__/WAService.js:18:1088)[代码]
2018-10-20