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 相关文章推荐
9个javascript语法高亮插件 推荐
Jul 18 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
May 12 Javascript
AngularJS基础 ng-value 指令简单示例
Aug 03 Javascript
bootstrap table小案例
Oct 21 Javascript
bootstrap日历插件datetimepicker使用方法
Dec 14 Javascript
jQuery获取选中单选按钮radio的值
Dec 27 Javascript
jQuery实现的表格前端排序功能示例
Sep 18 jQuery
layui的select联动实现代码
Sep 28 Javascript
JavaScript 作用域实例分析
Oct 02 Javascript
微信小程序地图绘制线段并且测量(实例代码)
Jan 02 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
Aug 25 Javascript
Node在Controller层进行数据校验的过程详解
Aug 28 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
wordpress之wp-settings.php
2007/08/17 PHP
php实现读取超大文件的方法
2014/07/28 PHP
PHP中addslashes与mysql_escape_string的区别分析
2016/04/25 PHP
PHP图片水印类的封装
2017/07/06 PHP
PHP实现的文件浏览器功能简单示例
2019/09/12 PHP
基于jquery的合并table相同单元格的插件(精简版)
2011/04/05 Javascript
Visual Studio中js调试的方法图解
2014/06/30 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
jQuery实现的网页左侧在线客服效果代码
2015/10/23 Javascript
javascript合并表格单元格实例代码
2016/01/03 Javascript
值得分享的JavaScript实现图片轮播组件
2016/11/21 Javascript
react-router JS 控制路由跳转实例
2017/06/15 Javascript
详解jQuery中的isPlainObject()使用方法
2018/02/27 jQuery
Vue 自定义动态组件实例详解
2018/03/28 Javascript
vue+axios新手实践实现登陆的示例代码
2018/06/06 Javascript
五分钟搞懂Vuex实用知识(小结)
2019/08/12 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
2019/09/03 jQuery
使用VUE实现在table中文字信息超过5个隐藏鼠标移到时弹窗显示全部
2019/09/16 Javascript
JS严格模式原理与用法实例分析
2020/04/27 Javascript
django限制匿名用户访问及重定向的方法实例
2018/02/07 Python
儿童编程python入门
2018/05/08 Python
windows 10 设定计划任务自动执行 python 脚本的方法
2019/09/11 Python
Python上下文管理器用法及实例解析
2019/11/11 Python
护士自荐信
2013/10/25 职场文书
咨询公司各岗位职责
2013/12/02 职场文书
高中体育教学反思
2014/01/24 职场文书
挖掘机司机岗位职责
2014/02/12 职场文书
《在家里》教后反思
2014/03/01 职场文书
交通事故赔偿协议书范本
2014/04/15 职场文书
四风问题个人自查剖析材料思想汇报
2014/09/21 职场文书
个人股份合作协议书
2014/10/24 职场文书
2015年药店店长工作总结
2015/04/29 职场文书
旅游项目合作意向书
2015/05/08 职场文书
Vue实现下拉加载更多
2021/05/09 Vue.js
Python 统计序列中元素的出现频度
2022/04/26 Python