请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Vue3 中的 block 问题

老师您好,为什么 vue3 要把 动态组件,svg,foreignObject,keep-alive 这些视为 block呢?直接将这些节点作为动态节点收集到最外层的 block 数组呢不可以吗?不是很明白这样的设计,希望老师百忙中能解惑,谢谢老师。

正在回答

1回答

动态组件、keep-alive 显然都是要单独维护自己的 block 的,它们一次只会渲染一部分内容,至于 svg 和 foreginObject 的话,https://img1.sycdn.imooc.com//szimg/5fab9b0209b8d98e22460896.jpg

参考这个注释吧,看看对应的 issue。

0 回复 有任何疑惑可以回复我~
  • 提问者 前端_未入门 #1
    老师您好,我脑子转的比较慢,对于动态组件、keep-alive 这种单独维护自己的 block 情况,是收集插槽中的动态节点推入到 block 数组中吗?我是跑的这样的一个 demo:<component :is="state.dynamic" />
    回复 有任何疑惑可以回复我~ 2020-11-12 10:40:32
  • ustbhuangyi 回复 提问者 前端_未入门 #2
    举个例子,动态组件是不是同一时间只渲染一个组件,那么这个组件肯定要内部维护自己的动态节点啊,所以要创建一个 block
    回复 有任何疑惑可以回复我~ 2020-11-12 11:08:15
  • 提问者 前端_未入门 回复 ustbhuangyi #3
    好的,谢谢老师的指点,非常感谢
    回复 有任何疑惑可以回复我~ 2020-11-13 13:20:14
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信