【发布时间】:2017-03-15 15:06:48
【问题描述】:
我使用的是 Vue 1.0。
- 我有一个带有标签的 UI。
- 在每个选项卡中,都有一个组件应该加载自己的数据(通过 ajax)。
- 我不想一次加载每个选项卡的组件数据。
- 我只想加载一次数据。
如果我在组件上使用 v-if 并将加载代码放在 ready() 中,它会在每次选择选项卡时加载。这是因为 v-if 会破坏并重新创建组件。 v-if 是否有 keep-alive 等效项?
如果我使用 v-show,所有选项卡都会立即加载。当组件变得可见时是否有一个钩子?
编辑:因为 cmets 不断提到动态组件。我想强调我不能使用动态组件,因为选项卡需要不同的属性。
【问题讨论】:
-
探索 v-cloak。
-
@Saurabh 我正在阅读文档 v-cloak。如何用这个触发方法调用?它看起来是一个与编译状态相关的 html 属性。
-
尝试并按照本教程coligo.io/dynamic-components-in-vuejs 使用
is指令来了解动态组件。有一点在这个jsfiddle中引入并使用了keep-alivejsfiddle.net/coligo/43kxkm3d/… -
我知道keep-alive,但我不能在这种情况下使用动态组件。
-
检查这个小提琴,这是你需要的吗? jsfiddle.net/srinivasdamam/jLukq3L9
标签: vue.js