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 相关文章推荐
IE 当eval遇上function的处理
Aug 09 Javascript
简单几行JS Code实现IE邮件转发新浪微博
Jul 03 Javascript
js实现简洁的滑动门菜单(选项卡)效果代码
Sep 04 Javascript
jquery ajax分页插件的简单实现
Jan 27 Javascript
bootstrap datepicker限定可选时间范围实现方法
Sep 28 Javascript
JavaScript中从setTimeout与setInterval到AJAX异步
Feb 13 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
Feb 27 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
Apr 03 jQuery
详解node.js搭建代理服务器请求数据
Apr 08 Javascript
thinkjs 文件上传功能实例代码
Nov 08 Javascript
Vue.js与 ASP.NET Core 服务端渲染功能整合
Nov 16 Javascript
layui的表单提交以及验证和修改弹框的实例
Sep 09 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中const与define的应用区别
2013/06/18 PHP
smarty缓存用法分析
2014/12/16 PHP
mysql_escape_string()函数用法分析
2016/04/25 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
Laravel 数据库加密及数据库表前缀配置方法
2019/10/10 PHP
ie和firefox不兼容的解决方法集合
2009/04/28 Javascript
javascript 数字格式化输出的实现代码
2013/12/10 Javascript
浅析document.ready和window.onload的区别讲解
2013/12/18 Javascript
node.js中的fs.readlink方法使用说明
2014/12/17 Javascript
jQuery实现按键盘方向键翻页特效
2015/03/18 Javascript
JS实现的数组全排列输出算法
2015/03/19 Javascript
javascript连续赋值问题
2015/07/08 Javascript
理解javascript中的with关键字
2016/02/15 Javascript
jQuery实现无限往下滚动效果代码
2016/04/16 Javascript
简单实现js无缝滚动效果
2017/02/05 Javascript
JS字符串按逗号和回车分隔的方法
2017/04/25 Javascript
Node.js 8 中的重要新特性
2017/06/28 Javascript
详解如何在Angular优雅编写HTTP请求
2018/12/05 Javascript
javascript中this的用法实践分析
2019/07/29 Javascript
基于vue--key值的特殊用处详解
2020/07/31 Javascript
Python类的专用方法实例分析
2015/01/09 Python
Python实现设置windows桌面壁纸代码分享
2015/03/28 Python
Python实现合并字典的方法
2015/07/07 Python
Python数据分析之真实IP请求Pandas详解
2016/11/18 Python
python命令行参数用法实例分析
2019/06/25 Python
python同步windows和linux文件
2019/08/29 Python
python爬虫开发之urllib模块详细使用方法与实例全解
2020/03/09 Python
opencv 图像加法与图像融合的实现代码
2020/07/08 Python
Python爬虫进阶之爬取某视频并下载的实现
2020/12/08 Python
系统管理员的职责包括那些?管理的对象是什么?
2013/01/18 面试题
运动会100米解说词
2014/01/23 职场文书
小班秋游活动方案
2014/02/22 职场文书
滞留工资返还协议书
2014/10/19 职场文书
如何写辞职书
2015/02/26 职场文书
幼儿园春季开学通知
2015/07/16 职场文书
Java框架入门之简单介绍SpringBoot框架
2021/06/18 Java/Android