[Bug report]optimizeRenderRules 优化导致的bug
xdev965 opened this issue · comments
问题描述
请用简洁的语言描述你遇到的bug,至少包括以下部分,如提供截图请尽量完整:
开启optimizeRenderRules 优化会导致模板中的数据绑定失效 。
环境信息描述
至少包含以下部分:
详见 mpx-demo.zip
最简复现demo
一般来说通过文字和截图的描述我们很难定位到问题,为了帮助我们快速定位问题并修复,请按照以下指南编写并上传最简复现demo:
1.安装依赖包后直接watch,进入home.mpx,aa,bb,cc 正常显示
2. 取消home.mpx页面中的第12行注释代码,bb,cc 值无法显示
3.恢复home.mpx页面中的第12行注释代码,取消第13行注释代码,aa 值无法显示
4.取消home.mpx页面中的第12,13行注释代码,aa,bb,cc 正常显示
5.注释掉vue.config.js文件中59行optimizeRenderRules优化配置,注意要清除上次的编译缓存重新运行vscode。重复1,2,3,4步骤,aa,bb,cc 正常显示
遇到这个bug的时候,有些值能显示,有些不能,十分不可思议。通过进一步观察发现不能显示的值跟判断条件有关,于是有了上面1,2,3,4步的尝试,到第4步的时候,突然回想起v2.9.0版本发布时,官网的迁移文档中关于”Render函数优化“的描述提到,是通过移除不必要的setData访问实现的,那不就跟这个bug的现象对上了么,于是通过进一步求证,确实是它引起的。
确实是render函数优化的逻辑bug,我们处理一下