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 相关文章推荐
用Javascript实现Windows任务管理器的代码
Mar 27 Javascript
JS解析json数据并将json字符串转化为数组的实现方法
Dec 25 Javascript
JS获得浏览器版本和操作系统版本的例子
May 13 Javascript
Js+Jq获取URL参数的集中方法示例代码
May 20 Javascript
javascript截取字符串小结
Apr 28 Javascript
javascript实现点击后变换按钮显示文字的方法
May 13 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
Nov 20 Javascript
用JS生成UUID的方法实例
Mar 30 Javascript
简单分析javascript中的函数
Sep 10 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
May 05 Javascript
React Native仿美团下拉菜单的实例代码
Aug 08 Javascript
js实现带搜索功能的下拉框
Jan 11 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实现网上点歌(二)
2006/10/09 PHP
php与paypal整合方法
2010/11/28 PHP
PHP如何实现跨域
2016/05/30 PHP
PHP通过curl获取接口URL的数据方法
2018/05/31 PHP
PHP基于PDO扩展操作mysql数据库示例
2018/12/24 PHP
对YUI扩展的Gird组件 Part-2
2007/03/10 Javascript
js loading加载效果实现代码
2009/11/24 Javascript
Js sort排序使用方法
2011/10/17 Javascript
Js 去掉字符串中的空格(实现代码)
2013/11/19 Javascript
Chrome扩展页面动态绑定JS事件提示错误
2014/02/11 Javascript
javascript:window.open弹出窗口的位置问题
2014/03/18 Javascript
jquery渐隐渐显的图片幻灯闪烁切换实现方法
2015/02/26 Javascript
JavaScript实现斗地主游戏的思路
2016/02/29 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
2016/07/28 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
Node.js的特点详解
2017/02/03 Javascript
canvas+gif.js打造自己的数字雨头像的示例代码
2017/10/26 Javascript
详解如何webpack使用DllPlugin
2018/09/30 Javascript
vue3.0 项目搭建和使用流程
2021/03/04 Vue.js
[05:49]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS 选手采访
2021/03/11 DOTA
Python yield 小结和实例
2014/04/25 Python
Python获取服务器信息的最简单实现方法
2015/03/05 Python
python中threading超线程用法实例分析
2015/05/16 Python
在Django中URL正则表达式匹配的方法
2018/12/20 Python
详解pyppeteer(python版puppeteer)基本使用
2019/06/12 Python
Python3使用xlrd、xlwt处理Excel方法数据
2020/02/28 Python
Python Pandas 对列/行进行选择,增加,删除操作
2020/05/17 Python
Python爬取YY评级分数并保存数据实现过程解析
2020/06/01 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
影视艺术学院毕业生自荐信
2013/11/13 职场文书
团队经理竞聘书
2014/03/31 职场文书
高等学院职业生涯规划书范文
2014/09/16 职场文书
医学生自荐信范文
2015/03/05 职场文书
医者仁心观后感
2015/06/17 职场文书
PyTorch 如何设置随机数种子使结果可复现
2021/05/12 Python
Python TypeError: ‘float‘ object is not subscriptable错误解决
2022/12/24 Python