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 相关文章推荐
iframe 父窗口和子窗口相互的调用方法集锦
Dec 15 Javascript
checkbox使用示例
Aug 23 Javascript
Knockout visible绑定使用方法
Nov 15 Javascript
在js中实现邮箱格式的验证方法(推荐)
Oct 24 Javascript
百度搜索框智能提示案例jsonp
Nov 28 Javascript
jquery实现页面加载效果
Feb 21 Javascript
vue-resource 拦截器使用详解
Feb 21 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
Nov 24 Javascript
通过命令行创建vue项目的方法
Jul 20 Javascript
JS实现的加减乘除四则运算计算器示例
Aug 09 Javascript
详解vue中的父子传值双向绑定及数据更新问题
Jun 13 Javascript
jQuery实现简单飞机大战
Jul 05 jQuery
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+MySQL的聊天室设计
2006/10/09 PHP
深入php self与$this的详解
2013/06/08 PHP
php无限遍历文件夹示例分享
2014/03/04 PHP
PHP zip扩展Linux下安装过程分享
2014/05/05 PHP
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
2014/09/27 PHP
PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库
2015/11/25 PHP
thinkphp3.x中session方法的用法分析
2016/05/20 PHP
PHP中set_include_path()函数相关用法分析
2016/07/18 PHP
php+webSoket实现聊天室示例代码(附源码)
2017/02/17 PHP
js判断样式className同时增加class或删除class
2013/01/30 Javascript
让js弹出窗口居前显示的实现方法
2013/07/10 Javascript
javascript读写XML实现广告轮换(兼容IE、FF)
2013/08/09 Javascript
使用jQuery和PHP实现类似360功能开关效果
2014/02/12 Javascript
javascript匀速运动实现方法分析
2016/01/08 Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
2016/04/18 Javascript
AngularJS equal比较对象实例详解
2016/09/14 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
JavaScript常用事件介绍
2019/01/21 Javascript
layui之table checkbox初始化时选中对应选项的方法
2019/09/02 Javascript
python opencv对图像进行旋转且不裁剪图片的实现方法
2019/07/09 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
2019/09/11 Python
python中count函数简单的实例讲解
2020/02/06 Python
python 爬取免费简历模板网站的示例
2020/09/27 Python
世界最大的私人旅行指南出版商:孤独星球
2016/08/23 全球购物
物流仓管员岗位职责
2013/12/04 职场文书
财会自我鉴定范文
2013/12/27 职场文书
建筑安全标语
2014/06/07 职场文书
小学学习雷锋活动总结
2014/07/03 职场文书
党课培训心得体会
2014/09/02 职场文书
2014年体育工作总结
2014/11/24 职场文书
2014年市场部工作总结
2014/11/25 职场文书
2015年小学教师培训工作总结
2015/07/21 职场文书
2016年质量月活动总结报告
2016/04/05 职场文书
范文之农村基层党建工作报告
2019/10/24 职场文书
python Tkinter的简单入门教程
2021/04/11 Python
Github 使用python对copilot做些简单使用测试
2022/04/14 Python