VUE 动态组件的应用案例分析


Posted in Javascript onDecember 02, 2019

本文实例讲述了VUE 动态组件的应用。分享给大家供大家参考,具体如下:

业务场景

我们在开发表单的过程中会遇到这样的问题,我们选择一个控件进行配置,控件有很多中类型,比如文本框,下来框等,这些配置都不同,因此需要不同的配置组件来实现。

较常规的方法是使用v-if 来实现,这样界面看上去比较复杂,而且需要进行修改主页面。

解决方案

可以使用动态组件来实现,为了体现动态组件的特性,我们简化实现方式,编写两个简单的组件来测试一下这个功能。

文本组件配置:

<template>
 <div>
  我是单行文本框{{config.type}}
 </div>
</template>
<script>
 export default {
  name:"rx-textbox-config",
  props:{
   config:Object
  }
 }
</script>
<style>
</style>

这个组件我统一配置一个config 的对象属性,配置一个type 属性。

多行文本框配置:

<template>
 <div>
  我是多行文本框{{config.name}}
 </div>
</template>
<script>
 export default {
  name:"rx-textarea-config",
  props:{
   config:Object
  }
 }
</script>
<style>
</style>

这里我配置一个 name的属性。

在调用界面做写如下代码,导入组件

export default {
 name: 'App',
 components: {
  rxTextboxConfig,
  rxTextareaConfig,
 }

使用动态组件:

<component :is="currentConfig" :config="config"></component>

使用代码切换组件

this.currentConfig=ctlType +"-config";
if(ctlType=="rx-textbox"){
 this.config.type="VARCHAR";
}
if(ctlType=="rx-textarea"){
 this.config.name="我是富文本框";
}

这里写if 只是为了体现这个特性,实际实现不用这种方式。

希望本文所述对大家vue.js程序设计有所帮助。

Javascript 相关文章推荐
用js自动判断浏览器分辨率的代码
Jan 28 Javascript
Array.prototype 的泛型应用分析
Apr 30 Javascript
jQuery中each()方法用法实例
Dec 27 Javascript
jquery文档操作wrap()方法实例简述
Jan 10 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
Jan 19 Javascript
百度地图给map添加右键菜单(判断是否为marker)
Mar 04 Javascript
分享19个JavaScript 有用的简写写法
Jul 07 Javascript
node.JS二进制操作模块buffer对象使用方法详解
Feb 06 Javascript
js实现无刷新监听URL的变化示例代码详解
Jun 03 Javascript
vue 组件简介
Jul 31 Javascript
Vue解决移动端弹窗滚动穿透问题
Dec 15 Vue.js
详解ES6实现类的私有变量的几种写法
Feb 10 Javascript
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
Dec 02 #Javascript
vue 动态表单开发方法案例详解
Dec 02 #Javascript
vue 开发之路由配置方法详解
Dec 02 #Javascript
vue 开发企业微信整合案例分析
Dec 02 #Javascript
vue 使用外部JS与调用原生API操作示例
Dec 02 #Javascript
node使用mysql获取数据库数据中文乱码问题的解决
Dec 02 #Javascript
vue中上传视频或图片或图片和文字一起到后端的解决方法
Dec 01 #Javascript
You might like
php结合curl实现多线程抓取
2015/07/09 PHP
让textarea自动调整大小的js代码
2011/04/12 Javascript
windows8.1+iis8.5下安装node.js开发环境
2014/12/12 Javascript
新手快速学习JavaScript免费教程资源汇总
2015/06/25 Javascript
基于javascript实现右下角浮动广告效果
2016/01/08 Javascript
原生js实现自由拖拽弹窗代码demo
2016/06/29 Javascript
SelecT下拉框选中和取值的解决方法
2016/11/22 Javascript
jquery购物车结算功能实现方法
2020/10/29 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
jQuery中DOM节点删除之empty与remove
2017/01/20 Javascript
angular十大常见问题
2017/03/07 Javascript
基于Bootstrap table组件实现多层表头的实例代码
2017/09/07 Javascript
layui动态绑定事件的方法
2019/09/20 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
2020/02/01 jQuery
原生js实现的金山打字小游戏(实例代码详解)
2020/03/16 Javascript
在Webpack中用url-loader处理图片和字体的问题
2020/04/28 Javascript
[49:27]LGD vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
视觉直观感受若干常用排序算法
2017/04/13 Python
Python3操作SQL Server数据库(实例讲解)
2017/10/21 Python
Python实现的多线程同步与互斥锁功能示例
2017/11/30 Python
python取代netcat过程分析
2018/02/10 Python
Python numpy实现二维数组和一维数组拼接的方法
2018/06/05 Python
关于python之字典的嵌套,递归调用方法
2019/01/21 Python
Mac 使用python3的matplot画图不显示的解决
2019/11/23 Python
Python实现点云投影到平面显示
2020/01/18 Python
Python 实现日志同时输出到屏幕和文件
2020/02/19 Python
什么是Python包的循环导入
2020/09/08 Python
python模拟点击玩游戏的实例讲解
2020/11/26 Python
Willer台湾:日本高速巴士/夜行巴士预约
2017/07/09 全球购物
城市规划毕业生求职信
2013/10/10 职场文书
2014信息技术专业毕业生自我评价
2014/01/17 职场文书
火锅店营销方案
2014/02/26 职场文书
网站美工岗位职责
2014/04/02 职场文书
小学教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
门球健将观后感
2015/06/16 职场文书
2016年教师党员承诺书范文
2016/03/24 职场文书