vue.js - 在父组件中使用 v-if 和在子组件的根中使用 v-if 有区别吗?
问题描述
假设我们有两个组件 -<Parent/>
和<Child />
,并且必须有条件地渲染子组件。v-if
在渲染子元素的父元素中使用和在根元素的子元素中使用它有区别吗?
父级进行条件渲染:
<!-- Parent.vue -->
<div>
<Child v-if="displayChild' />
</div>
<!-- Child.vue -->
<div>
...
</div>
孩子做条件渲染:
<!-- Parent.vue -->
<div>
<Child />
</div>
<!-- Child.vue -->
<div v-if="displayChild">
...
</div>
我知道他们有效地做同样的事情,但是当父级进行条件渲染时,是否有像 vue 这样的东西能够做更多的优化?或者与另一种方式相比,一种方式有其他好处吗?
解决方案
我想保留v-if
在父组件中可以防止子组件的生命周期不被调用,因为子组件没有被渲染,而将它放在子组件中需要子组件在v-if
处理之前加载?
推荐阅读
- sql-server - 如果我有 tblBookInfo(bookId、title... 等)并且我希望它有类别列,那么最好的方法是什么?
- django - 静态文件仅在 django 管理页面上不加载
- google-compute-engine - 从占用空间更小的磁盘创建图像
- amazon-cloudformation - terraform tf 文件或模块可以自动使资源过期吗?
- ios - 当 UIImageView 的内容模式为 .scaleAspectFill 时,为什么 UIImageView 会超出其约束?
- c# - 如何模拟 DbConnectionStringBuilder?
- java - 如何在不更新 apk 的情况下更新回收站视图中的项目
- r - R lang:第一个字母大写
- docker - 如何在 Dockerfile 中使用多行 EOF
- javascript - 我需要帮助在 JS 中制作交互式精灵