对于v-if
来说,可以用它来控制组件的生成和销毁,那么对于父子模块来说,如果我想要让子组件满足一定条件下再进行创建,可以使用v-if
的方式,通过日志可以发现,子组件只有在condition
为true
的时候才会加载
父组件中
<Content/>
<div v-if="condition">
<Child/>
</div>
import Child from './Child'
components: {
Child
}
那么,我看网上帖子,对于异步组件,为什么还要使用动态导入的方式做进一步处理呢?
vue2
<Content/>
<div v-if="condition">
<Child/>
</div>
components: {
Child: () => import("./Child")
}
这两种方式有什么区别吗?它们实现的效果不都是父组件先加载Content
组件,当condition
为true
的时候,再去加载Child
组件吗?
参考链接
异步组件
vue官方文档-异步组件
虽然可能两者都满足了你的业务需求,但他们从概念上就是不同的,就好比苹果和走路一样,虽然可以在走路的时候吃苹果,但他俩不是一个概念,没有可比性
异步组件也是组件,与寻常组件不同的是,他单独打包成一个js,在组件加载的时候才会去加载这个js文件,这个过程是异步的,等js加载完成才会去渲染这个组件
v-if是一个指令,你可以当成if语句去看