v-cloak在vue.js中不起作用?

Son*_*tao 34 vue.js

div我的页面中有一个用于显示错误消息.当我刷新页面时,它会出现一段时间然后消失.我补充说v-cloak但它不起作用.

这是代码,showErrorMsg是假的

<div v-cloak v-show="showErrorMsg" style="z-index:100" class="h5_tips tips_error">
  <a href="#" v-on:click="showErrorMsg = false" class="del"><i>&#xe906;</i></a>
  <p v-text="errorMsg"></p>
</div>
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

Edu*_*art 70

只需将此代码包含在您的css文件中即可

[v-cloak] { display:none; }
Run Code Online (Sandbox Code Playgroud)

http://vuejs.org/api/#v-cloak

用法示例:

<div class="xpto" v-cloak>
    Hello
</div>
Run Code Online (Sandbox Code Playgroud)

该指令将保留在元素上,直到关联的Vue实例完成编译.结合CSS规则,例如[v-cloak] {display:none},此指令可用于隐藏未编译的胡须绑定,直到Vue实例准备就绪.

http://vuejs.org/api/#v-cloak

  • 我建议将其添加到CSS文件的底部。v-cloak是常规CSS,可以覆盖。因此,如果它对您不起作用,请检查其他样式是否未强制使用其他显示属性。或者,禁用vue并查看代码是否隐藏。Vue将使其可见。 (2认同)
  • 如果您的“&lt;div&gt;”将“display: ...”设置为默认值以外的其他值,则此操作不起作用。在这种情况下,您可能需要“!important”,正如普莱莫尔的回答所暗示的那样。 (2认同)

Ple*_*mor 10

我遇到了同样的问题,这是由于display我的财产存在冲突div.要解决它,我使用了!important标志[v-cloak]:

[v-cloak] {
    display: none !important;
}

.my-class {
    display: table-cell;
}
Run Code Online (Sandbox Code Playgroud)


Mic*_*uck 7

Vue.js - 2.3.4,我在app容器上添加了v-cloak,在父容器上添加了这个,我发现你没有重复代码保持干燥.

HTML:

<div id="app" v-cloak>
 Anything inside gets the v-cloak
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

[v-cloak] {
 display:none;
}
Run Code Online (Sandbox Code Playgroud)

Codepen示例:


Son*_*tao 6

我通过重写 css 解决了这个问题

在 css 文件中添加一个类:

[v-cloak] .v-cloak--hidden{
  display: none;
}
Run Code Online (Sandbox Code Playgroud)

然后是 html:

<div v-show="showErrorMsg" style="z-index:100" class="h5_tips tips_error v-cloak--hidden">
  <a href="#" v-on:click="showErrorMsg = false" class="del"><i>&#xe906;</i></a>
  <p v-text="errorMsg"></p>
</div>
Run Code Online (Sandbox Code Playgroud)