vue-cli-中的组件加载模式

14 篇文章 0 订阅
12 篇文章 0 订阅

动态组件

  • 导入组件
  • 注册组件
  • 调用组件时通过component标签以及属性is来进行识别需要加载的组件是什么

案例—动态改变组件

  <div class="home">
    <img alt="Vue logo" src="../assets/logo.png">
	<component :is="current"></component>
	<!-- 点击切换按钮判断,进行在ComA与ComB之间进行切换组件 -->
	<button @click="current =='ComA' ? current = 'ComB' : current = 'ComA'">切换</button>
  </div>
// 导入需要的组件
import ComA from '../components/ComA.vue'
import ComB from '../components/ConB.vue'

export default {
  name: 'Home',
  data() {return {
  // 声明一个点击时触发的那个组件
	  current : "ComA"
  }},
  components: {
    ComA,ComB,
	}
  },
}

异步加载组件

  • 导入时不在是一般的导入
  • 注册组件时:使用组件名字 : ()=> { return import(/* webpackChunkName : '组件的名字'*/ "在这里导入需要导入的组件路径")}
  • /* webpackChunkName : '组件的名字'*/: webpack的 魔法注释 指定文件打包名称
  • 异步加载的组件都会单独打一包

案例—点击加载异步的组件

<!-- 点击加载ComC组件 -->
<button @click="current = 'ComC'">切换组件C</button>
export default {
  name: 'Home',
  data() {return {
	  current : "ComA"
  }},
  components: {
	  // 异步加载组件ComC
	ComC : () => { 
		return import(/*  webpackChunkName: "ComC" */"../components/ComC.vue")
	}
  },
  
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值