vue实现按需加载组件及异步组件功能


Posted in Javascript onMay 27, 2019

说实话,我一开始也不知道什么叫按需加载组件,组件还可以按需加载???后来知道了

学不完啊...没关系,看我的

按需加载组件,或者异步组件,主要是应用了component的 is 属性

template中的代码:

这里的每一个按钮,都要显示不同的组件,所以我让他们使用了同一个方法名

<template slot-scope="scope">
    <el-button
    type="text"
    size="mini"
    @click="handleSchedule('CustomerInfoSchedule', scope.row.customer_id)"
    >详情</el-button>
    <el-button
    type="text"
    size="mini"
    @click="handleSchedule('VisitRecordSchedule', scope.row.customer_id)"
    >回访</el-button>
    <el-button
    type="text"
    size="mini"
    @click="handleSchedule('AddCustomerSchedule',scope.row.customer_id)"
    >编辑</el-button>
    <el-button
    type="text"
    size="mini"
    @click="handleSchedule('AddPeopleSchedule', scope.row.customer_id)"
    >添加联系人</el-button>
   </template>

 <component 
 :is="currentComponent" 
 :customer_id="customer_id" 
 @componentResult="componentResult"
 >
 </component>

script中的代码:

这里的组件使用request按需引入,我使用的点击事件,当事件触发的时候,引入对应的组件

首先在data中声明组件的属性

data() {
 return {
  currentComponent: "",
  customer_id:'',
 }
 }

然后注册组件

这里的组件作为一个个方法,组件名是方法名,组件内容是方法体,有几个组件就写几个方法

components: {
  AddCustomerSchedule(resolve) {
  require(["../components/AddCustomer"], resolve);
  },
  AddPeopleSchedule(resolve) {
  require(["../components/AddPeople"], resolve);
  },
  CustomerInfoSchedule(resolve) {
  require(["../components/CustomerInfo"], resolve);
  },
  VisitRecordSchedule(resolve) {
  require(["../components/VisitRecord"], resolve);
  },
 },

定义的方法

// 这里直接接收name,然后相对应的引入组件,同时传值
 handleSchedule(name, id) {
  this.customer_id = id;
  this.currentComponent = name;
  },
 // 这是子组件触发父组件返回回来的方法,因为我的组件都是弹出框
 // 所以在子组件关闭弹出框的时候,我让this.currentComponent为空
 // 同时可以选择性的刷新数据
  componentResult(type) {
  if (type == "upData") {
   this.getTableData();
  } else {
   this.currentComponent = "";
  }
  },

总结

以上所述是小编给大家介绍的vue实现按需加载组件及异步组件功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
[原创]网络复制内容时常用的正则+editplus
Nov 30 Javascript
JavaScript中使用构造器创建对象无需new的情况说明
Mar 01 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
Nov 26 Javascript
Jquery操作js数组及对象示例代码
May 11 Javascript
Vue自定义指令拖拽功能示例
Feb 17 Javascript
Javascript中类式继承和原型式继承的实现方法和区别之处
Apr 25 Javascript
微信、QQ、微博、Safari中使用js唤起App
Jan 24 Javascript
vue.js内置组件之keep-alive组件使用
Jul 10 Javascript
JavaScript实现异步图像上传功能
Jul 12 Javascript
全面解析vue router 基本使用(动态路由,嵌套路由)
Sep 02 Javascript
angularJs使用ng-repeat遍历后选中某一个的方法
Sep 30 Javascript
vue+elementui实现点击table中的单元格触发事件--弹框
Jul 18 Javascript
Vue实现导航栏点击当前标签变色功能
Aug 19 #Javascript
原生js实现each方法实例代码详解
May 27 #Javascript
深入学习JavaScript中的bom
May 27 #Javascript
Vue实现根据hash高亮选项卡
May 27 #Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
May 27 #Javascript
Vue使用localStorage存储数据的方法
May 27 #Javascript
了解javascript中的Dom操作
May 27 #Javascript
You might like
php源代码安装常见错误与解决办法分享
2013/05/28 PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
2014/10/29 PHP
简略说明Javascript中的= =(等于)与= = =(全等于)区别
2013/04/16 Javascript
javascript不可用的问题探究
2013/10/01 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
node.js中的http.createServer方法使用说明
2014/12/14 Javascript
jQuery form插件之formDdata参数校验表单及验证后提交
2016/01/23 Javascript
使用开源工具制作网页验证码的方法
2016/10/17 Javascript
JavaScript实现获取远程的html到当前页面中
2017/03/26 Javascript
js实现数字递增特效【仿支付宝我的财富】
2017/05/05 Javascript
利用JavaScript对中文(汉字)进行排序实例详解
2017/06/18 Javascript
你应该知道的几类npm依赖包管理详解
2017/10/06 Javascript
vue中路由验证和相应拦截的使用详解
2017/12/13 Javascript
vue轮播图插件vue-concise-slider的使用
2018/03/13 Javascript
angular第三方包开发整理(小结)
2018/04/19 Javascript
mpvue将vue项目转换为小程序
2018/09/30 Javascript
vue cli3.0 引入eslint 结合vscode使用
2019/05/27 Javascript
[01:45]DOTA2新英雄“神谕者”全方位展示
2014/11/21 DOTA
[00:43]魔廷新尊——痛苦女王至宝捆绑包
2020/06/12 DOTA
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
Python pickle模块用法实例分析
2015/05/27 Python
基于Python实现的微信好友数据分析
2018/02/26 Python
python 队列基本定义与使用方法【初始化、赋值、判断等】
2019/10/24 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
2019/11/11 Python
Python如何实现自带HTTP文件传输服务
2020/07/08 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
汽车电子与维修专业大学生求职信
2013/09/28 职场文书
店长助理岗位职责
2013/12/13 职场文书
售后服务经理岗位职责
2014/02/25 职场文书
班主任工作经验交流材料
2014/05/13 职场文书
学生会竞选演讲稿学习部
2014/08/25 职场文书
五年级上册复习计划
2015/01/19 职场文书
销售助理岗位职责
2015/02/11 职场文书
聋哑人盗窃罪辩护词
2015/05/21 职场文书
68行Python代码实现带难度升级的贪吃蛇
2022/01/18 Python
一文简单了解MySQL前缀索引
2022/04/03 MySQL