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 相关文章推荐
使用pjax实现无刷新更改页面url
Feb 05 Javascript
jquery判断复选框选中状态以及区分attr和prop
Dec 18 Javascript
微信小程序-消息提示框实例
Nov 24 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
Dec 21 Javascript
Angularjs使用指令做表单校验的方法
Mar 31 Javascript
在Angular中使用JWT认证方法示例
Sep 10 Javascript
在vue项目中引入vue-beauty操作方法
Feb 11 Javascript
JS中的算法与数据结构之集合(Set)实例详解
Aug 20 Javascript
Vue利用Blob下载原生二进制数组文件
Sep 25 Javascript
layui form表单提交后实现自动刷新
Oct 25 Javascript
jquery实现广告上下滚动效果
Mar 04 jQuery
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
Mar 17 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实现rc4加密算法代码
2012/04/25 PHP
关于PHP自动判断字符集并转码的详解
2013/06/26 PHP
php分页代码学习示例分享
2014/02/20 PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
2014/04/29 PHP
分享一个漂亮的php验证码类
2016/09/29 PHP
PHP实用小技巧之调用录像的方法
2019/12/05 PHP
laravel中Redis队列监听中断的分析
2020/09/14 PHP
innerText和textContent对比及使用介绍
2013/02/27 Javascript
用JS实现3D球状标签云示例代码
2013/12/01 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
2015/06/05 Javascript
Javascript常用小技巧汇总
2015/06/24 Javascript
JavaScript实现删除,移动和复制文件的方法
2015/08/05 Javascript
jQuery实现图片渐入渐出切换展示效果
2015/08/15 Javascript
javascript实现五星评分功能
2015/11/10 Javascript
jquery在ie7下选择器的问题导致append失效的解决方法
2016/01/10 Javascript
文件上传的几个示例分享【推荐】
2016/12/16 Javascript
javascript自执行函数
2017/02/10 Javascript
jQuery Chosen通用初始化
2017/03/07 Javascript
使用python 获取进程pid号的方法
2014/03/10 Python
Python实现windows下模拟按键和鼠标点击的方法
2015/03/13 Python
Django中的CACHE_BACKEND参数和站点级Cache设置
2015/07/23 Python
Python只用40行代码编写的计算器实例
2017/05/10 Python
python实现逐个读取txt字符并修改
2018/12/24 Python
python binascii 进制转换实例
2019/06/12 Python
在python中将list分段并保存为array类型的方法
2019/07/15 Python
如何利用Python开发一个简单的猜数字游戏
2019/09/22 Python
Django之choices选项和富文本编辑器的使用详解
2020/04/01 Python
关于h5中的fetch方法解读(小结)
2017/11/15 HTML / CSS
使用HTML5加载音频和视频的实现代码
2020/11/30 HTML / CSS
澳大利亚办公室装修:JasonL Office Furniture
2019/06/25 全球购物
英语文学专业学生的自我评价
2013/10/31 职场文书
科级干部考察材料
2014/02/15 职场文书
奥巴马上海演讲稿
2014/09/10 职场文书
自荐信怎么写
2015/03/04 职场文书
Python包管理工具pip的15 个使用小技巧
2021/05/17 Python
解决 redis 无法远程连接
2022/05/15 Redis