vue动态配置模板 'component is'代码


Posted in Javascript onJuly 04, 2019

实现代码如下

<template>
 <div v-if='object.child'>
   <div v-for="(item,ix) in object.child" :key="ix">
    <component :is="item.xtype" v-if='item'
     :objectVlue="objectVlue"
     :object="item">
    </component>
   </div>
 </div>
</template>
<script>
export default {
 data() {
  return {
  };
 },
 props: {
  objectVlue:Object,
  object:Object,
 },
 created() {
  var itemType = require(`../units/unit-type.js`).default||{};//1.0
  this.object.child.forEach(item=>{
   if(item.fileName){
    item.objDefault = require(`@/scene/${this.$route.query.typeName}/config/${item.fileName}.js`);//2.0
   }   
  })

  this.object.child.forEach(item=>{//动态显示当前组件
   if(itemType[item.xtype])
   Vue.component(
    itemType[item.xtype].componentName,
    () => import(`@/components/info-collection/moudel/${itemType[item.xtype].fileName}`)
   )
  })
 }
};
</script>
//1.0=============unit-type.js所有模板配置文件 =======================
export default {
 tablePartMerge: {//表格合并模板xtype
   componentName: "tablePartMerge",//组件名称
   fileName: "table-partInfo-merge"//文件所在路径
 },
 tablePartInfo: {
   componentName: "tablePartInfo",
   fileName: "table-partInfo"
 },
 ueditorUnit: {
   componentName: "ueditorUnit",
   fileName: "unit-ueditor"
 },
 filesUnit: {
   componentName: "filesUnit",
   fileName: "unit-files"
 },
 approves: {  // 正文信息(审批记录)
   componentName: "approves",
   fileName: "approves-unit"
 },
 requiredDate:{ // 要求完成日期
  componentName: "requiredDate",
  fileName: "required-date"
 },
}
//2.0====== table-partInfo-merge.js =========
module.exports = {
 "columns":[{
  "id": "partNumber",
  "disabled": false,
  "name":"物料编码",
  "placeholder": "",
  "required": true,
  "selectDetail": [],
  "show": false,
  "span": 24,
  "width":"150",
  "xtype": "select"//组件内用的表格
 }]
}

//=============父级传过来的 object =======================
module.exports = [
  {
    title: '正文信息',
    name: '1',
    id:"",
    child:[
      {
        id:'partInfoData',//id
        show:'true',//是否显示
        fileName:'tablePartInfo',//文件路径名
        xtype:'tablePartMerge'//表格模块
      },
      {
        id:'mainAttachements',//文本编辑器
        show:'true',
        fileName:'',
        xtype:'filesUnit'
      },
      {
        id:'vivo_RequestCompletionTime',//时间选择模块
        show:'true',
        fileName:'',
        xtype:'requiredDate'
      },
      {
        id:'approves',
        show:'true',
        fileName:'approval',
        xtype:'approves'
      }
    ]
  }
];

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery EasyUI API 中文文档 - Pagination分页
Sep 29 Javascript
js的延迟执行问题分析
Jun 23 Javascript
jQuery实用技巧必备(上)
Nov 02 Javascript
javascript检测移动设备横竖屏
May 21 Javascript
JS实现图片延迟加载并淡入淡出效果的简单方法
Aug 25 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
Feb 20 Javascript
详解Vue 非父子组件通信方法(非Vuex)
May 24 Javascript
JS判断非空至少输入两个字符的简单实现方法
Jun 23 Javascript
Angular中自定义Debounce Click指令防止重复点击
Jul 26 Javascript
微信小程序中显示倒计时代码实例
May 09 Javascript
深入了解Hybrid App技术的相关知识
Jul 17 Javascript
多个Vue项目部署到服务器的步骤记录
Oct 22 Javascript
react 移动端实现列表左滑删除的示例代码
Jul 04 #Javascript
jQuery删除/清空指定元素的所有子节点实例代码
Jul 04 #jQuery
小程序中canvas的drawImage方法参数使用详解
Jul 04 #Javascript
vue如何限制只能输入正负数及小数
Jul 04 #Javascript
Vue项目中ESlint规范示例代码
Jul 04 #Javascript
你或许不知道的一些npm实用技巧
Jul 04 #Javascript
中高级前端必须了解的JS中的内存管理(推荐)
Jul 04 #Javascript
You might like
PHP循环获取GET和POST值的代码
2008/04/09 PHP
深入解析php之apc
2013/05/15 PHP
php写app接口并返回json数据的实例(分享)
2017/05/20 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
2017/08/03 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
实例:用 JavaScript 来操作字符串(一些字符串函数)
2007/02/15 Javascript
jQueryMobile之Helloworld与页面切换的方法
2015/02/04 Javascript
JQuery实现动态适时改变字体颜色的方法
2015/03/10 Javascript
node.js [superAgent] 请求使用示例
2015/03/13 Javascript
Javascript中arguments和arguments.callee的区别浅析
2015/04/24 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
2016/01/21 Javascript
vue日期组件 支持vue1.0和2.0
2017/01/09 Javascript
jQuery用户头像裁剪插件cropbox.js使用详解
2017/06/07 jQuery
JavaScript中字符串的常用操作方法及特殊字符
2018/03/18 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
express+vue+mongodb+session 实现注册登录功能
2018/12/06 Javascript
Vue props中Object和Array设置默认值操作
2020/07/30 Javascript
基于Python 的进程管理工具supervisor使用指南
2016/09/18 Python
Python获取网段内ping通IP的方法
2019/01/31 Python
python单线程文件传输的实例(C/S)
2019/02/13 Python
tensorflow自定义激活函数实例
2020/02/04 Python
Python实现遗传算法(二进制编码)求函数最优值方式
2020/02/11 Python
python 利用panda 实现列联表(交叉表)
2021/02/06 Python
25个CSS3动画按钮和菜单教程分享
2012/10/03 HTML / CSS
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
2012/06/02 面试题
Linux面试题LINUX系统类
2014/11/19 面试题
医学生求职自荐信
2013/10/25 职场文书
房屋委托书范本
2014/04/04 职场文书
中学生演讲稿
2014/04/26 职场文书
植树节活动总结
2014/04/30 职场文书
办理房产过户的委托书
2014/09/14 职场文书
三方股东合作协议书范本
2014/09/28 职场文书
党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
辛亥革命观后感
2015/06/02 职场文书
Python OpenCV形态学运算示例详解
2022/04/07 Python
Golang MatrixOne使用介绍和汇编语法
2022/04/19 Golang