首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有v-cloak的框架页面:如何使用css加载div?Vue

带有v-cloak的框架页面:如何使用css加载div?Vue
EN

Stack Overflow用户
提问于 2020-08-25 18:50:14
回答 2查看 409关注 0票数 0

我正在使用Webpack/拉威尔和注入的id #app在我的页面上的vuejs,所以有骨架加载页面,我想有这个标记

代码语言:javascript
复制
 //client side, will show after ~0.2 seconds
<div id="app" v-cloak>
    <hello-world> 
</div

//server side, show for ~0.2 s then disappear
<div id="app__loading" v-cloak>
    <div class="skeleton">
       <span class="skeleton_ribs"></span>
    </div>
</div>

当v-cloak和#app__loading中的所有内容被移除时,我设法在后台将加载gif显示为伪元素,但如果我在标记中添加普通元素,则它们在#app加载后出现在页面底部

代码语言:javascript
复制
[v-cloak] > * { display:none }

[v-cloak] + #app__loading::before {
  content: url('https://i.pinimg.com/originals/65/ba/48/65ba488626025cff82f091336fbf94bb.gif');
  display: flex;
  justify-content: center;
  align-items: center;
}

但是我希望类似这样的东西可以在#app__loading中使用标记,但它不起作用

代码语言:javascript
复制
[v-cloak] > * { display:none }
#app-loader{
  display: block;
}
[v-cloak] #app::finish-loading{
  [v-cloak] #app-loader{
    display: none!important;
  }
} 
EN

回答 2

Stack Overflow用户

发布于 2020-09-14 21:59:07

您似乎希望在app根元素的模板中找到初始元素的内容。使用$mount()函数时,Vue会将目标元素完全替换为已挂载元素的模板。

这种替换在某种程度上被这样一个事实所掩盖,即开箱即用的index.html包含一个<div id="app">,它被App.vue模板中的<div id="app">...</div>替换。

但它们实际上并不相关(而且不是同一个元素)。如果您更改了index.html中的id,则需要更改main.(js|ts)中的目标el。显然,您也可以更改App.vue中的id。

现在,要解决您的问题,您可以简单地将v-cloak放在App.vue中的div上。从您到目前为止所展示的内容来看,这应该会使它按预期工作。

对于更复杂的用例(即:如果您想触发绑定到初始元素的特定事件),方法是将初始占位符包装在父元素中,绑定到父元素,然后在Vue中,使用this.$el.closest('.some-class')this.$el.parentElement()指向父元素以访问绑定。

如果您仍然得不到预期的结果,请创建一个mcve (您可以使用codesanbox.io),并详细描述预期的行为。

票数 2
EN

Stack Overflow用户

发布于 2020-09-14 21:52:40

为了在找到合适的vue解决方案之前减轻您的麻烦,您可以通过id抓取装载器,并在Vue实例挂载时提供display none

代码语言:javascript
复制
export default {
        mounted() {
            document.querySelector('#app__loading').style.display = 'none';
        },
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63577282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档