代码片段提供了比较小的可复现demo,具体的场景应该还有其他的。
我们业务比较复杂,复现这个问题形成最小demo花了好久..
实际应该从3.9.x开始就存在这个问题,3.10.0是目前主要复现的基础库。
表现如下:
第一次进入页面,组件样式丢失,第二次进入样式正常渲染
第二个页面是子包页面,第一个页面引入了子包的一个组件,作为异步组件,但是因为有显隐条件,暂时不渲染出来。
这种情况下第二个页面也引用了这个组建,样式就会丢,但是要像demo里的这种组建组合才行,把第二个页面的两个组件在模板里交换位置..样式渲染也是正常的
确认到问题了,确实是片段里这个特定的时序的时候,3.9.1 引入的一个优化会有点问题
我们尽快修复上线,非常感谢~
实际业务中已经有几个场景碰到这个问题,表现一致,但是解决方法不太一样。
例如当前这个demo中,需要在子包的页面中把两个组件都声明componentPlaceholder,然后控制第一个组件晚于第二个组件渲染,就能解决问题,这个和调换顺序能好的原理应该是同一个,后渲染就行。
另一个场景是slot的场景,父组件配置componentPlaceholder就能恢复。这个场景没有研究最小复现demo。
2. 未确认
3. 内联样式OK,样式文件里的丢失
4. 开发者工具里表现正常,没事什么参考意义