Vue路由中引入组件Component的三种方式

文章讨论了Vue中三种不同的组件导入方式:常规导入、Vue异步组件技术和动态import()语法。常规导入可能导致大型JS文件,影响加载速度。而Vue异步组件和动态导入能实现按需加载,优化应用性能,特别是对于多页面应用,推荐使用动态import()语法。
摘要由CSDN通过智能技术生成

1.普通引入方式

import 组件名 from ‘组件路径’

import login from ‘@/components/login’

优点: 易理解,
缺点:webpack在打包的时候会把整个路由打包成一个js文件,如果页面一多,会导致这个文件非常大,加载缓慢

2.Vue异步组件技术

 component: (resolve) => require(['@/views/login/login'], resolve)

在这里插入图片描述

3.使用动态的import( )语法(推荐使用)

 component: () => import('@/views/login/login')

 在这里插入图片描述

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3,可以通过使用`defineAsyncComponent`方法来引入异步组件,从而实现按需加载。在路由引入公共组件可以使用以下步骤: 1. 在`src/components`目录下创建公共组件文件,例如`Header.vue`。 2. 在路由文件引入`defineAsyncComponent`方法,并使用该方法引入公共组件。 例如,假设我们有一个`Header.vue`组件,它在多个页面都需要使用。我们可以在路由文件定义一个异步组件引入组件: ```js import { defineAsyncComponent } from 'vue' import { createRouter, createWebHistory } from 'vue-router' const router = createRouter({ history: createWebHistory(), routes: [ { path: '/', name: 'Home', component: defineAsyncComponent(() => import('@/views/Home.vue')), // 引入公共组件 meta: { header: defineAsyncComponent(() => import('@/components/Header.vue')) } }, // ... ] }) export default router ``` 上述代码,我们使用`defineAsyncComponent`方法来引入`Header.vue`组件,并将其作为`meta`的一个属性。在需要使用该组件的页面,我们可以通过访问`meta.header`来引用组件。 ```html <template> <div> <header-component /> <!-- ... --> </div> </template> <script> import { computed } from 'vue' import { useRoute } from 'vue-router' export default { components: { HeaderComponent: computed(() => useRoute().meta.header) } } </script> ``` 上述代码,我们使用`computed`和`useRoute`方法来访问`meta.header`属性,并将其作为`HeaderComponent`的组件引用。 注意:在Vue3,`createRouter`和`createWebHistory`方法的使用方式发生了改变,请根据实际情况进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值