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从数组中删除指定值元素的方法
Mar 18 Javascript
javascript实现百度地图鼠标滑动事件显示、隐藏
Apr 02 Javascript
javascript操作表格排序实例分析
May 06 Javascript
jquery插件NProgress.js制作网页加载进度条
Jun 05 Javascript
JavaScript获取页面中超链接数量的方法
Nov 09 Javascript
Javascript中arguments对象的详解与使用方法
Oct 04 Javascript
前端分页功能的实现以及原理(jQuery)
Jan 22 Javascript
网页中的图片查看器viewjs使用方法
Jul 11 Javascript
使用layer弹窗,制作编辑User信息页面的方法
Sep 27 Javascript
React学习之受控组件与数据共享实例分析
Jan 06 Javascript
使用Vue实现简单计算器
Feb 25 Javascript
nuxt 页面路由配置,主页轮播组件开发操作
Nov 05 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控制用户的浏览器--ob*函数的使用说明
2007/03/16 PHP
php相当简单的分页类
2008/10/02 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
2013/07/01 PHP
php 多文件上传的实现实例
2016/10/23 PHP
CI框架数据库查询缓存优化的方法
2016/11/21 PHP
php中static和const关键字用法分析
2016/12/07 PHP
php 类中的常量、静态属性、非静态属性的区别
2017/04/09 PHP
Aster vs Newbee BO5 第二场2.19
2021/03/10 DOTA
List Installed Software Features
2007/06/11 Javascript
JS支持带x身份证号码验证函数
2008/08/10 Javascript
jQuery textarea的长度进行验证
2009/05/06 Javascript
JS文本框追加多个下拉框的值的简单实例
2013/07/12 Javascript
JS JSON对象转为字符串的简单实现方法
2013/11/18 Javascript
JavaScript中创建字典对象(dictionary)实例
2015/03/31 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
jquery插件uploadify实现带进度条的文件批量上传
2015/12/13 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
Bootstrap模态框调用功能实现方法
2016/09/19 Javascript
js入门之Function函数的使用方法【新手必看】
2016/11/22 Javascript
Bootstrap列表组学习使用
2017/02/09 Javascript
浅谈JavaScript中的apply/call/bind和this的使用
2017/02/26 Javascript
微信小程序实现商品属性联动选择
2019/02/15 Javascript
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
javascript实现弹出层效果
2019/12/10 Javascript
浅谈python 线程池threadpool之实现
2017/11/17 Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
2018/09/27 Python
python字符串循环左移
2019/03/08 Python
详解Django定时任务模块设计与实践
2019/07/24 Python
详解CSS3的图层阴影和文字阴影效果使用
2016/06/09 HTML / CSS
Columbia美国官网:美国著名的户外服装品牌
2016/11/24 全球购物
New delete 与malloc free 的联系与区别
2013/02/04 面试题
自考自我鉴定范文
2013/10/30 职场文书
机电一体化应届生求职信范文
2014/01/24 职场文书
煤矿安全协议书
2014/08/20 职场文书
四风问题个人剖析材料
2014/10/07 职场文书
人工作失职检讨书
2015/05/05 职场文书