【发布时间】:2017-09-02 18:30:42
【问题描述】:
在我的 vue 应用程序中,router-view 中的一些特定组件使用 vue 提供的 <keep-alive></keep-alive> 进行缓存。
当用户登录时 posts.vue 组件就像我上面所说的那样被缓存
一切正常。
现在我想在用户注销时销毁这个 posts.vue 组件。这样posts.vue 组件在用户再次登录时重新渲染 p>
注销按钮完全存在于其他组件menu.vue 中,并且用于注销的点击逻辑存在于此nenu.vue 组件中
那么我如何使用menu.vue 组件上的vm.$destroy() 方法在posts.vue 组件上实现这一点
所以我的主要问题是如何控制一个组件与另一个组件的生命周期
docs 警告使用如下:,
在正常使用情况下,您不必自己调用此方法。
更喜欢使用 v-if 和 v-for 以数据驱动的方式控制子组件的生命周期。
但就我而言,我不能使用 v-if 或 v-show
或者有没有更好的方法可以使用
【问题讨论】:
-
当用户再次登录并尝试访问 posts.vue 时,现在发生了什么?
-
@Deepak 以前缓存的帖子也正在显示....所以我希望这个组件在用户再次登录时强制重新渲染
-
如果您可以在 posts.vue 中发布完成的内容可能会有所帮助。获取数据的函数应该在 created 钩子中调用。这应该会照顾好它。
-
@Deepak 无法理解...请您详细说明一下...谢谢
-
请提供一些小提琴,或者posts.vue中的代码。
标签: vue.js vuejs2 vue-component vue-router