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 相关文章推荐
Discuz! 6.1_jQuery兼容问题
Sep 23 Javascript
JQuery动态给table添加、删除行 改进版
Jan 19 Javascript
面向对象Javascript核心支持代码分享
May 23 Javascript
jquery ajax 局部刷新小案例
Feb 08 Javascript
javascript打开word文档的方法
Apr 16 Javascript
chrome下jq width()方法取值为0的解决方法
May 26 Javascript
浏览器中url存储的JavaScript实现
Jul 07 Javascript
layui数据表格实现重载数据表格功能(搜索功能)
Jul 27 Javascript
layer父页获取弹出层输入框里面的值方法
Sep 02 Javascript
javascript 高级语法之继承的基本使用方法示例
Nov 11 Javascript
vue a标签点击实现赋值方式
Sep 07 Javascript
解决vant title-active-color与title-inactive-color不生效问题
Nov 03 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
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
php中namespace及use用法分析
2016/12/06 PHP
利用PHP实现开心消消乐的算法示例
2017/10/12 PHP
jQuery的实现原理的模拟代码 -2 数据部分
2010/08/01 Javascript
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
2010/12/10 Javascript
利用json获取字符出现次数的代码
2012/03/22 Javascript
解决jquery的datepicker的本地化以及Today问题
2012/05/23 Javascript
ECMAScript 5中的属性描述符详解
2015/03/02 Javascript
jQuery实现表格行上下移动和置顶效果
2015/06/05 Javascript
学习JavaScript鼠标响应事件
2015/12/25 Javascript
莱鸟介绍window.print()方法
2016/01/06 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
jQuery插件HighCharts绘制2D带Label的折线图效果示例【附demo源码下载】
2017/03/08 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
2018/03/23 jQuery
Vue项目中使用jquery的简单方法
2019/05/16 jQuery
浅谈VUE防抖与节流的最佳解决方案(函数式组件)
2019/05/22 Javascript
JS三级联动代码格式实例详解
2019/12/30 Javascript
python批量同步web服务器代码核心程序
2014/09/01 Python
Python实现Linux命令xxd -i功能
2016/03/06 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
2016/09/21 Python
python 多维切片之冒号和三个点的用法介绍
2018/04/19 Python
解决python3捕获cx_oracle抛出的异常错误问题
2018/10/18 Python
详解Python字符串切片
2019/05/20 Python
tensorflow实现在函数中用tf.Print输出中间值
2020/01/21 Python
Canvas在超级玛丽游戏中的应用详解
2021/02/06 HTML / CSS
微软中国官方商城:Microsoft Store中国
2018/10/12 全球购物
美国婴儿用品及配件购买网站:Munchkin
2019/04/03 全球购物
毕业生物理教师求职信
2013/10/17 职场文书
给护士表扬信
2014/01/19 职场文书
学生手册评语
2014/05/05 职场文书
党的群众路线教育实践活动个人承诺书
2014/05/22 职场文书
技术股份合作协议书
2014/10/05 职场文书
2015年社区精神文明工作总结
2015/05/26 职场文书
严以律己专题学习研讨会发言材料
2015/11/09 职场文书
继承Win10缺点!教你关闭Win11烦人的网络搜索
2021/11/23 数码科技
mysql 乱码 字符集latin1转UTF8
2022/04/19 MySQL