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 相关文章推荐
jQuery获取css z-index在各种浏览器中的返回值
Sep 15 Javascript
javascript判断用户浏览器插件安装情况的代码
Jan 01 Javascript
js中各种类型的变量在if条件中是true还是false
Jul 16 Javascript
JavaScript判断用户是否对表单进行了修改的方法
Mar 18 Javascript
javascript实现Table排序的方法
May 15 Javascript
Jquery日历插件制作简单日历
Oct 28 Javascript
javascript实现图片轮播效果
Jan 20 Javascript
JS实现的仿QQ空间图片弹出效果代码
Feb 23 Javascript
详解webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
Jun 20 Javascript
如何让你的JS代码更好看易读
Dec 01 Javascript
Mac中安装nvm的教程分享
Dec 11 Javascript
详解微信小程序审核不通过的解决方法
Jan 17 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
phpmyadmin 常用选项设置详解版
2010/03/07 PHP
php若干单维数组遍历方法的比较
2011/09/20 PHP
php遍历文件夹下的所有文件和子文件夹示例
2014/03/20 PHP
php简单实现无限分类树形列表的方法
2015/03/27 PHP
php使用Jpgraph绘制饼状图的方法
2015/06/10 PHP
PHP实现生成带背景的图形验证码功能
2016/10/03 PHP
FormValid0.5版本发布,带ajax自定义验证例子
2007/08/17 Javascript
js 代码集(学习js的朋友可以看下)
2009/07/22 Javascript
JS原型对象通俗&quot;唱法&quot;
2012/12/27 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
Vue.js动态组件解析
2016/09/09 Javascript
利用n 升级工具升级Node.js版本及在mac环境下的坑
2017/02/15 Javascript
jquery中关于bind()方法的使用技巧分享
2017/03/30 jQuery
javascript 中iframe高度自适应(同域)实例详解
2017/05/16 Javascript
深入理解React Native原生模块与JS模块通信的几种方式
2017/07/24 Javascript
利用JS判断客户端类型你应该知道的四种方法
2017/12/22 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
小程序api实现promise封装过程解析
2019/11/21 Javascript
十分钟教你上手ES2020新特性
2020/02/12 Javascript
python中urllib模块用法实例详解
2014/11/19 Python
Django开发中复选框用法示例
2018/03/20 Python
Python Matplotlib 基于networkx画关系网络图
2019/07/10 Python
Transpose 数组行列转置的限制方式
2020/02/11 Python
利用PyTorch实现VGG16教程
2020/06/24 Python
BeautifulSoup中find和find_all的使用详解
2020/12/07 Python
纽约服装和生活方式品牌:Saturdays NYC
2017/08/13 全球购物
Bally澳大利亚官网:瑞士奢侈品牌
2018/11/01 全球购物
室内设计专业学生的自我评价分享
2013/11/27 职场文书
三年级评语大全
2014/04/23 职场文书
勾股定理课后反思
2014/04/26 职场文书
2015年中秋节活动总结
2015/03/23 职场文书
党员转正党支部意见
2015/06/02 职场文书
大学优秀学生主要事迹材料
2015/11/04 职场文书
nginx 防盗链防爬虫配置详解
2021/03/31 Servers
关于CentOS 8 搭建MongoDB4.4分片集群的问题
2021/10/24 MongoDB
36个正则表达式(开发效率提高80%)
2021/11/17 Javascript