Vue强制所有子组件渲染

时间:2019-09-13 17:31:38

标签: vue.js vuejs2 vue-component vuetify.js

我正在使用Vue&Vuetify创建我的应用。通过vuetify,我正在使用v-expansion-panels来创建手风琴样式的显示。每个v-expansion-panel本身都包含一个自定义组件。

我已经注意到,在第一次单击扩展面板之前,这些组件尚未创建。之后,使用keep-alive可以激活子组件的所有反应特性和方法(这是我想要的行为)。

如何在创建父组件时强制创建子组件?创建父级时,子级组件的created()生命周期挂钩中触发的任何方法都应触发。

This Codepen是当前行为的一个示例。注意:单击面板时,请务必查看控制台。

1 个答案:

答案 0 :(得分:0)

如果考虑到这一点,则延迟加载扩展面板的内容实际上是有意义的,因为如果用户从不打开它们,这是无用的工作。因此,您尝试完成的事情可能具有更好的方法,但是如果您仍然喜欢它,那么我的建议是找到一种以编程方式打开/关闭面板的方法(如here所示)并快速打开并关闭它渲染父组件时。这样,您将拥有子组件'static,并且UI将保持不变。