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 相关文章推荐
jQuery 打造动态渐变按钮 详细图文教程
Apr 25 Javascript
juqery 学习之六 CSS--css、位置、宽高
Feb 11 Javascript
jQuery Tools tooltip使用说明
Jul 14 Javascript
AngularJS表单详解及示例代码
Aug 17 Javascript
js生成随机数方法和实例
Jan 17 Javascript
setTimeout学习小结
Feb 08 Javascript
详解vue-cli本地环境API代理设置和解决跨域
Sep 05 Javascript
VsCode插件整理(小结)
Sep 14 Javascript
vue2.0在table中实现全选和反选的示例代码
Nov 04 Javascript
vue小白入门教程
Apr 02 Javascript
JavaScript展开操作符(Spread operator)详解
Jul 20 Javascript
Vue实现按钮级权限方案
Nov 21 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
用文本作数据处理
2006/10/09 PHP
采用ThinkPHP中F方法实现快速缓存实例
2014/06/13 PHP
Zend Framework 2.0事件管理器(The EventManager)入门教程
2014/08/11 PHP
laravel5.2实现区分前后台用户登录的方法
2017/01/11 PHP
php cli模式下获取参数的方法
2017/05/05 PHP
使用jquery获取网页中图片高度的两种方法
2013/09/26 Javascript
js中arguments,caller,callee,apply的用法小结
2014/01/28 Javascript
Javascript简单改变表单元素背景的方法
2015/07/15 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
深入分析javascript中的错误处理机制
2016/07/17 Javascript
jquery dataTable 获取某行数据
2017/05/05 jQuery
微信小程序获取微信运动步数的实例代码
2017/07/20 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
AngularJS 多指令Scope问题的解决
2018/10/25 Javascript
vue中如何去掉空格的方法实现
2018/11/09 Javascript
详解小程序BackgroundAudioManager踩坑之旅
2019/12/08 Javascript
[00:36]DOTA2上海特级锦标赛 LGD战队宣传片
2016/03/04 DOTA
[04:51]TI10典藏宝瓶Ⅱ外观视频展示
2020/08/15 DOTA
PyQt5每天必学之布局管理
2018/04/19 Python
Python切片索引用法示例
2018/05/15 Python
在python中利用try..except来代替if..else的用法
2019/12/19 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
python实现xml转json文件的示例代码
2020/12/30 Python
css3个性化字体_动力节点Java学院整理
2017/07/12 HTML / CSS
托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别
2014/09/29 面试题
Laravel中Kafka的使用详解
2021/03/24 PHP
户外婚礼策划方案
2014/02/08 职场文书
文明餐桌行动实施方案
2014/02/19 职场文书
廉洁自律承诺书
2014/03/27 职场文书
材料成型及控制工程专业求职信
2014/06/19 职场文书
教师师德考核自我评价
2014/09/13 职场文书
公司授权委托书格式范文
2014/10/02 职场文书
2014企业年终工作总结
2014/12/23 职场文书
承诺保证书格式
2015/02/28 职场文书
主持人大赛开场白
2015/05/29 职场文书
预备党员入党感言
2015/08/01 职场文书