[vuejs/vue]®在上使用 v-if 没有效果不起作用

2025-10-29 856 views
5
版本

2.6.10

复制链接

https://jsfiddle.net/anker/27nwbr84/2/

重现步骤

html使用中slot v-if没有任何效果,但是在js使用中templateslot v-if正常的。

无法使用 v-if 的例子

<template>
  <div>
    <slot v-if="render"></slot>
  </div>
</template>
<script>
export default {
  data () {
    return {
      render: false,
    }
  },
</script>

可以使用 v-if 的例子

<script>
export default {
  template: '<div><slot v-if="render"/></div>',
  data () {
    return {
      render: false,
    }
  },
</script>
预期是什么?

v-如果正常使用

到底发生了什么?

v-if 无法工作

回答

1

v-if确实有效。报告错误时请确保使用最新版本,并提供正确的复现步骤:https://jsfiddle.net/8fqyx6aj/

你使用的标签template应该位于外部#app

0

@posva https://jsfiddle.net/anker/27nwbr84/5/

看一下 test1 的例子,它运行失败。