vue点击按钮动态创建与删除组件功能


Posted in Javascript onDecember 29, 2019

主要功能需求点:

  1. 点击左侧组件库按钮创建对应的不同的组件,并在右侧区域展示
  2. 点击右侧创建的组件中的删除按钮,删除对应的组件
  3. 删除对应的组件之后,下方的组件位置自动上移

效果图:

vue点击按钮动态创建与删除组件功能

代码:

父组件代码(去除了css样式代码):

<template>
 <div class="home">
  <div class="container">
   <div class="addZujian">
    <div>
     <span>组件库</span>
     <span style="color:#bbb;margin-left:10px;font-size:14px;">点击使用</span>
    </div>
    <div class="zujianBtn" @click="zujian">添加组件1</div>
    <div class="zujianBtn" @click="zujian2">添加组件2</div>
   </div>
   <div class="zujianContent">
    <div>组件展示区</div>
    <!-- Vue提供了 component ,来展示对应名称的组件 -->
    <!-- component 是一个占位符, :is 属性,可以用来指定要展示的组件的名称 -->
    <component
     v-for="(item,index) in comName"
     :is="item.name"
     :key="index"
     @func="getContent(index)"
    ></component>
   </div>
  </div>
 </div>
</template>
<script>
// 引入子组件
import zujian1 from "./zujian";
import zujian2 from "./zujian2";
export default {
 data() {
  return {
   comName: []
  };
 },
 components: {
  zujian1,
  zujian2
 },
 methods: {
  // 添加组件1
  zujian() {
   this.comName.push({
    name: "zujian1"
   });
  },
  // 添加组件2
  zujian2() {
   this.comName.push({
    name: "zujian2"
   });
  },
  // 删除组件
  getContent(index) {
   this.comName.splice(index, 1);
  }
 }
};
</script>

子组件1代码(去除了css样式代码):

<template>
 <div class="home">
  <div class="container">
   <span>我是组件1</span>
   <span class="del" @click="del">删除组件</span>
  </div>
 </div>
</template>
<script>
export default {
 data() {
  return {};
 },
 methods: {
  del() {
   // 子组件向父组件传值(此处传递一个空值) - 父组件将执行getContent方法
   this.$emit('func','')
  }
 }
};
</script>

子组件2代码(去除了css样式代码):

<template>
 <div class="home">
  <div class="container">
   <span>我是组件2</span>
   <span class="del" @click="del">删除组件</span>
  </div>
 </div>
</template>
<script>
export default {
 data() {
  return {};
 },
 methods: {
  del() {
   // 子组件向父组件传值(此处传递一个空值) - 父组件将执行getContent方法
   this.$emit("func", "");
  }
 }
};
</script>

总结

以上所述是小编给大家介绍的vue点击按钮动态创建与删除组件功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
javascript得到XML某节点的子节点个数的脚本
Oct 11 Javascript
createElement动态创建HTML对象脚本代码
Nov 24 Javascript
在服务端(Page.Write)调用自定义的JS方法详解
Aug 09 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
Dec 08 Javascript
原生javaScript实现图片延时加载的方法
Dec 22 Javascript
javascript从定义到执行 你不知道的那些事
Jan 04 Javascript
jQuery实现Select左右复制移动内容
Aug 05 Javascript
javascript将url解析为json格式的两种方法
Aug 18 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
Sep 14 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
Jan 12 Javascript
JavaScript设计模式之命令模式实例分析
Jan 16 Javascript
Node.js web 应用如何封装到Docker容器中
Sep 01 Javascript
纯js+css实现仿移动端淘宝网站的弹出详情框功能
Dec 29 #Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
Dec 29 #Javascript
vue element-ui实现input输入框金额数字添加千分位
Dec 29 #Javascript
jstree中的checkbox默认选中和隐藏示例代码
Dec 29 #Javascript
Vue组件通信入门之Provide和Inject机制
Dec 29 #Javascript
JS中数组实现代码(倒序遍历数组,数组连接字符串)
Dec 29 #Javascript
如何基于JavaScript判断图片是否加载完成
Dec 28 #Javascript
You might like
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
2011/07/01 PHP
PHP及Zend Engine的线程安全模型分析
2011/11/10 PHP
PHP清除数组中所有字符串两端空格的方法
2014/10/20 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
基于PHP实现用户登录注册功能的详细教程
2020/08/04 PHP
海量经典的jQuery插件集合
2010/01/12 Javascript
IE不支持getElementsByClassName最终完美解决方案
2012/12/17 Javascript
JS Date函数整理方便使用
2013/10/23 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
2015/01/09 Javascript
js游戏人物上下左右跑步效果代码分享
2015/08/28 Javascript
jQuery EasyUI Pagination实现分页的常用方法
2016/05/21 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
jQuery插件zTree实现的基本树与节点获取操作示例
2017/03/08 Javascript
javascript作用域链与执行环境详解
2017/03/25 Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
2017/04/13 Javascript
Node.js搭建小程序后台服务
2018/01/03 Javascript
基于Vue实现拖拽功能
2020/07/29 Javascript
Vue 中的受控与非受控组件的实现
2018/12/17 Javascript
echarts实现词云自定义形状的示例代码
2019/02/20 Javascript
JS实现的对象去重功能示例
2019/06/04 Javascript
JS中的算法与数据结构之队列(Queue)实例详解
2019/08/20 Javascript
layui实现form表单同时提交数据和文件的代码
2019/10/25 Javascript
vue自定义指令和动态路由实现权限控制
2020/08/28 Javascript
python中利用队列asyncio.Queue进行通讯详解
2017/09/10 Python
Python内置模块turtle绘图详解
2017/12/09 Python
在PyTorch中Tensor的查找和筛选例子
2019/08/18 Python
Python性能分析工具Profile使用实例
2019/11/19 Python
基于pycharm实现批量修改变量名
2020/06/02 Python
如何使用python-opencv批量生成带噪点噪线的数字验证码
2020/12/21 Python
关键在于落实心得体会
2014/09/03 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
爱心捐款倡议书:点燃希望,传递温暖
2019/11/04 职场文书
Vue中foreach数组与js中遍历数组的写法说明
2021/06/05 Vue.js
详细了解MVC+proxy
2021/07/09 Java/Android
Win10/Win11 任务栏替换成经典样式
2022/04/19 数码科技