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表单验证插件formValidator(改进版)
Feb 03 Javascript
ajax中get和post的说明及使用与区别
Dec 23 Javascript
AngularJS 指令详细介绍
Jul 27 Javascript
判断js的Array和Object的实现方法
Aug 29 Javascript
Angular获取手机验证码实现移动端登录注册功能
May 17 Javascript
JS中Map和ForEach的区别
Feb 05 Javascript
微信小程序开发之路由切换页面重定向问题
Sep 18 Javascript
玩转vue的slot内容分发
Sep 22 Javascript
vue 实现搜索的结果页面支持全选与取消全选功能
May 10 Javascript
webpack4 配置 ssr 环境遇到“document is not defined”
Oct 24 Javascript
webpack优化之代码分割与公共代码提取详解
Nov 22 Javascript
vue router 动态路由清除方式
May 25 Vue.js
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数据库连接
2006/10/09 PHP
php实现图片添加描边字和马赛克的方法
2014/12/10 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
2017/11/20 PHP
基于jquery的一个浮动框(扩展性比较好 )
2010/08/27 Javascript
九种js弹出对话框的方法总结
2013/03/12 Javascript
Jquery带搜索框的下拉菜单
2013/05/06 Javascript
详细总结Javascript中的焦点管理
2016/09/17 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
2016/11/29 Javascript
基于bootstrap的选择框插件icheck
2016/12/23 Javascript
老生常谈JavaScript面向对象基础与this指向问题
2017/10/16 Javascript
vuejs实现ready函数加载完之后执行某个函数的方法
2018/08/31 Javascript
使用Javascript简单计算器
2018/11/17 Javascript
JavaScript创建对象的四种常用模式实例分析
2019/01/11 Javascript
vue下拉刷新组件的开发及slot的使用详解
2020/12/23 Vue.js
python写日志封装类实例
2015/06/28 Python
python去掉空白行的多种实现代码
2018/03/19 Python
Python自定义线程类简单示例
2018/03/23 Python
python+splinter自动刷新抢票功能
2018/09/25 Python
kali中python版本的切换方法
2019/07/11 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
2019/09/26 Python
pytorch下使用LSTM神经网络写诗实例
2020/01/14 Python
python实现人机五子棋
2020/03/25 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
用ldap作为django后端用户登录验证的实现
2020/12/07 Python
Html5移动端网页端适配(js+rem)
2021/02/03 HTML / CSS
印度首选时尚目的地:Reliance Trends
2018/01/17 全球购物
thinkphp5 redis缓存新增方法实例讲解
2021/03/24 PHP
网上签名寄语活动留言
2014/01/18 职场文书
检察机关个人对照检查材料
2014/09/15 职场文书
稽核岗位职责范本
2015/04/13 职场文书
2015年精神文明建设工作总结
2015/04/21 职场文书
php微信小程序解包过程实例详解
2021/03/31 PHP
nginx中封禁ip和允许内网ip访问的实现示例
2022/03/17 Servers
Android Canvas绘制文字横纵向对齐
2022/06/05 Java/Android