vue中的异步组件和v-if有什么不同?
对于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官方文档-异步组件
回复
1个回答

test
2024-07-14
虽然可能两者都满足了你的业务需求,但他们从概念上就是不同的,就好比苹果和走路一样,虽然可以在走路的时候吃苹果,但他俩不是一个概念,没有可比性
异步组件也是组件,与寻常组件不同的是,他单独打包成一个js,在组件加载的时候才会去加载这个js文件,这个过程是异步的,等js加载完成才会去渲染这个组件
v-if是一个指令,你可以当成if语句去看
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容