我具有以下结构
<my-app>
<my-modal> <!--
<my-form></my-form>
</my-modal>
</my-app>
my-modal
被设计为通用包装器,我使用它来包装应用程序中的许多不同对话框。在其中,我听位置更改,然后render html '<slot></slot>'
我的问题是,尽管my-modal
通过显示和隐藏表单而表现正确,但是表单本身从未重新呈现,因此总是显示陈旧的内容。我目前正在使用IntersectionObserver
整理一些东西,以使其在可见时触发,但这感觉确实很棘手,并且会引起其他问题。
有一种方法可以使我的模态强制其子级重新渲染,即使它知道的唯一子级是<slot></slot>
。我不希望my-app
对my-modal
的行为一无所知。
答案 0 :(得分:1)
可能不适合
我不希望我的应用程序了解我的模态的行为
但是您可以在requestFullUpdate
上添加一个函数my-modal
,然后对所有子项进行迭代,并对所有子项进行requestUpdate
。可以在开/关左右完成,甚至间隔一个时间:p
但是,我有一种感觉,这可以解决不适合的结构带来的“副作用” ...也许尝试从不同的角度看待它-也许像这样吗? https://stackoverflow.com/a/56297264/3227915