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做flash做的事..才完成的一个类.Auntion Action var 0.1
Feb 23 Javascript
js 蒙版进度条(结合图片)
Mar 10 Javascript
网站繁简切换的JS遇到页面卡死的解决方法
Mar 12 Javascript
jQuery过滤选择器经典应用
Aug 18 Javascript
关于Vue.js 2.0的Vuex 2.0 你需要更新的知识库
Nov 30 Javascript
bootstrap中添加额外的图标实例代码
Feb 15 Javascript
vue 打包后的文件部署到express服务器上的方法
Aug 09 Javascript
原生JS实现的碰撞检测功能示例
May 18 Javascript
jQuery实现的简单日历组件定义与用法示例
Dec 24 jQuery
highCharts提示框中显示当前时间的方法
Jan 18 Javascript
react配置antd按需加载的使用
Feb 11 Javascript
解决Vue中 父子传值 数据丢失问题
Aug 27 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学习笔记 数组的常用函数
2011/06/13 PHP
php学习笔记之面向对象
2014/11/08 PHP
php 魔术方法详解
2014/11/11 PHP
php实现上传图片文件代码
2015/07/19 PHP
PHP+Ajax验证码验证用户登录
2016/07/20 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
Prototype使用指南之hash.js
2007/01/10 Javascript
javascript jscroll模拟html元素滚动条
2012/12/18 Javascript
JS模板实现方法
2013/04/03 Javascript
js使用ajax读博客rss示例
2014/05/06 Javascript
深入理解JavaScript系列(50):Function模式(下篇)
2015/03/04 Javascript
利用原生JS自动生成文章标题树的实例
2016/08/22 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
微信小程序 出现错误:{&quot;baseresponse&quot;:{&quot;errcode&quot;:-80002,&quot;errmsg&quot;:&quot;&quot;}}解决办法
2017/02/23 Javascript
Vue实现选择城市功能
2017/05/27 Javascript
Vue.js学习笔记之常用模板语法详解
2017/07/25 Javascript
使用apifm-wxapi模块中的问题及解决方法
2019/08/05 Javascript
[02:47]3.19DOTA2发布会 国服成长历程回顾
2014/03/25 DOTA
[00:12]DAC2018 no[o]ne亮相SOLO赛 他是否如他的id一样无人可挡?
2018/04/06 DOTA
python入门教程之识别验证码
2017/03/04 Python
PyQt4实现下拉菜单可供选择并打印出来
2018/04/20 Python
详解python中的json和字典dict
2018/06/22 Python
使用Python进行体育竞技分析(预测球队成绩)
2019/05/16 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
浅谈keras 模型用于预测时的注意事项
2020/06/27 Python
如何利用python生成MD5并去重
2020/12/07 Python
python3.9实现pyinstaller打包python文件成exe
2020/12/13 Python
GNC健安喜官方海外旗舰店:美国著名保健品牌
2017/01/04 全球购物
Muziker英国:中欧最大的音乐家商店
2020/02/05 全球购物
请写出 float x 与"零值"比较的 if 语句
2016/01/04 面试题
DIY蛋糕店的创业计划书范文
2013/12/26 职场文书
小学师德师风演讲稿
2014/09/02 职场文书
乡镇干部个人对照检查材料思想汇报
2014/10/04 职场文书
关于五一放假的通知
2015/08/18 职场文书
2016幼儿园教师年度考核评语
2015/12/01 职场文书
六年级作文之自救
2019/12/19 职场文书