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 相关文章推荐
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
Jul 04 Javascript
jquery取子节点及当前节点属性值的方法
Sep 09 Javascript
PHPExcel中的一些常用方法汇总
Jan 23 Javascript
jQuery实现提交按钮点击后变成正在处理字样并禁止点击的方法
Mar 24 Javascript
jQuery实现类似标签风格的导航菜单效果代码
Aug 25 Javascript
jQuery Validate表单验证深入学习
Dec 18 Javascript
Validform+layer实现漂亮的表单验证特效
Jan 17 Javascript
详解Vue2 无限级分类(添加,删除,修改)
Mar 07 Javascript
d3.js实现立体柱图的方法详解
Apr 28 Javascript
Vue登录注册并保持登录状态的方法
Aug 17 Javascript
vue实现折线图 可按时间查询
Aug 21 Javascript
JavaScript快速调试的两个技巧
Nov 04 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 MYSQL乱码问题,使用SET NAMES utf8校正
2009/11/30 PHP
php中拷贝构造函数、赋值运算符重载
2012/07/25 PHP
php快速排序原理与实现方法分析
2016/05/26 PHP
javascript实现上传图片前的预览(TX的面试题)
2007/08/20 Javascript
javascript移动设备Web开发中对touch事件的封装实例
2014/06/05 Javascript
jquery限定文本框只能输入数字(整数和小数)
2016/01/08 Javascript
JS+CSS3实现超炫的散列画廊特效
2016/07/16 Javascript
浅谈Javascript事件对象
2017/02/05 Javascript
创建简单的node服务器实例(分享)
2017/06/23 Javascript
echarts学习笔记之图表自适应问题详解
2017/11/22 Javascript
对angular4子路由&amp;辅助路由详解
2018/10/09 Javascript
微信小程序入门之广告条实现方法示例
2018/12/05 Javascript
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
vue 实现v-for循环回来的数据动态绑定id
2019/11/07 Javascript
Js视频播放器插件Video.js使用方法详解
2020/02/04 Javascript
JavaScript设计模式---单例模式详解【四种基本形式】
2020/05/16 Javascript
Nuxt的路由配置和参数传递方式
2020/11/06 Javascript
Python 文件读写操作实例详解
2014/03/12 Python
Python设计模式编程中Adapter适配器模式的使用实例
2016/03/02 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
Python动态生成多维数组的方法示例
2018/08/09 Python
python3学生名片管理v2.0版
2018/11/29 Python
django迁移数据库错误问题解决
2019/07/29 Python
详解python常用命令行选项与环境变量
2020/02/20 Python
Pycharm Plugins加载失败问题解决方案
2020/11/28 Python
HTML5学习笔记之html5与传统html区别
2016/01/06 HTML / CSS
Nike瑞士官网:Nike CH
2021/01/18 全球购物
《植物妈妈有办法》教学反思
2014/02/25 职场文书
营销总监岗位职责范本
2014/02/26 职场文书
产品质量承诺范本
2014/03/31 职场文书
青年教师个人总结
2015/02/11 职场文书
行政处罚告知书
2015/07/01 职场文书
大学体育课感想
2015/08/10 职场文书
创业计划书之面包店
2019/09/17 职场文书
撤回我也能看到!教你用Python制作微信防撤回脚本
2021/06/11 Python
SQL语句多表联合查询的方法示例
2022/04/18 MySQL