在 parent 组件中使用 v-if 与在 child 组件的根目录中使用 v-if 之间有区别吗?
Is there a difference between using v-if in a parent component and using v-if on a child component's root?
假设我们有两个组件 - <Parent/>
和 <Child />
,并且 child 必须有条件地呈现。在呈现 child 的 parent 中使用 v-if
与在根元素的 child 中使用它之间有区别吗?
Parent 做条件渲染:
<!-- Parent.vue -->
<div>
<Child v-if="displayChild' />
</div>
<!-- Child.vue -->
<div>
...
</div>
Child 做条件渲染:
<!-- Parent.vue -->
<div>
<Child />
</div>
<!-- Child.vue -->
<div v-if="displayChild">
...
</div>
我知道他们有效地做同样的事情,但是当 parent 进行条件渲染时,是否有像 vue 这样的东西能够做更多的优化?或者与另一种方式相比,一种方式是否有一些其他好处?
我假设将 v-if
保留在父组件中可以防止子组件的生命周期不被调用,因为子组件未呈现,而将它放在子组件中需要子组件在处理 v-if
之前加载?
假设我们有两个组件 - <Parent/>
和 <Child />
,并且 child 必须有条件地呈现。在呈现 child 的 parent 中使用 v-if
与在根元素的 child 中使用它之间有区别吗?
Parent 做条件渲染:
<!-- Parent.vue -->
<div>
<Child v-if="displayChild' />
</div>
<!-- Child.vue -->
<div>
...
</div>
Child 做条件渲染:
<!-- Parent.vue -->
<div>
<Child />
</div>
<!-- Child.vue -->
<div v-if="displayChild">
...
</div>
我知道他们有效地做同样的事情,但是当 parent 进行条件渲染时,是否有像 vue 这样的东西能够做更多的优化?或者与另一种方式相比,一种方式是否有一些其他好处?
我假设将 v-if
保留在父组件中可以防止子组件的生命周期不被调用,因为子组件未呈现,而将它放在子组件中需要子组件在处理 v-if
之前加载?