我在标记<span v-if="someValue">
上有一个v-if,我希望它开始隐藏,只有在someValue
中的值设置为true后才会显示。不幸的是,即使从开始时它的值为false,它在加载页面时仍然会闪烁(可能在Vue有时间删除标签之前)。
有没有一个很好的方法来处理这个问题?
答案 0 :(得分:3)
最初&#34;闪烁&#34;实际上与v-if
无关。
这是因为您首先加载dom然后vue js将操纵&#34;它。在html标记之后加载Vue,因此在最终加载vue js之前你会看到所有内容,并将根据你的代码隐藏元素。
要摆脱这种情况,您可以在其中一个外部元素上放置v-cloak
指令并添加一个类似
[v-cloak].class-of-my-outer-element {
display: none;
}
v-cloak&#34;属性&#34;初始化后将被vue删除。这意味着在代码准备好之前不会显示任何内容。
次要更新/编辑:如果您的#app或者您安装了vue应用程序,请不要忘记v-cloak元素必须在里面。