【问题标题】:vue.js v-if is still rendering to the pagevue.js v-if 仍在渲染到页面
【发布时间】:2023-03-27 08:31:01
【问题描述】:

我在应用程序 html 上有一个简单的组件,它连接到一个

v-if

据我了解,如果 v-if 为 false,则不应创建组件。

这是页面上的组件

<post-modal :v-if="postModal" :show.sync="postModal" :post="post">
    <h3 slot="header">Show Post</h3>
</post-modal>

和应用代码:

new Vue({
    el: '#vueApp',
    data: {
        postModal: false,
        postId: null,
        post: null
    }
});

你可以看到“postModal”是假的,所以组件不应该被渲染......但我知道它就像在组件“created”方法中一样,我有一个

alert('created');

我做错了什么?

谢谢!

【问题讨论】:

  • 我认为v-if 指令不需要前导“:”。我认为前导冒号只是 HTML 属性的 v-bind 的简写符号。试试v-if 而不是:v-if
  • @PatrickSteele 这就是原因
  • :/有史以来最愚蠢的错误......

标签: javascript vue.js vue-component


【解决方案1】:
<post-modal v-if="postModal" :show="postModal" :post="post">
   <h3 slot="header">Show Post</h3>
</post-modal>

Demo Link

【讨论】:

  • 请更新不带冒号的 html,以便我标记为已回答
猜你喜欢
  • 1970-01-01
  • 2020-08-22
  • 2018-02-08
  • 1970-01-01
  • 2018-10-23
  • 2021-06-06
  • 1970-01-01
  • 2019-04-14
  • 2018-08-14
相关资源
最近更新 更多