具体slot用法详见http://www.cnblogs.com/keepfool/p/5637834.html

html:

<!--测试弹窗-->
<dialog-test v-if="testShow==1">
<div class="header-box" slot="header">
<h2>提示信息</h2>
</div>
<div class="body-box" slot="body">
<p>我是一个对话框</p>
<textarea class="test-content"></textarea>
</div>
</dialog-test>
<dialog-test v-else-if="testShow==2">
<div class="header-box" slot="header">
<h2>2222222222222222</h2>
</div>
<div class="body-box" slot="body">
<p>我是一个对话我是一个对话框我是一个对话框我是一个对话框我是一个对话框框</p>
</div>
</dialog-test>

子组件中:

<script type="text/x-template" id="dialog-test-template">
<div class="dialog-wrap">
<div class="mask"></div>
<div class="dialog-is-distribute">
<slot name="header"></slot><!--父组件中slot=head的占位符-->
<slot name="body"></slot><!--父组件中slot=body的占位符-->
</div>
</div>
</script>

对比,使用子组件嵌套子组件的形式:

最外层就一个:

<transition name="fade">
<dialog-box v-if="addShow" v-on:addeval="hiddenEval()" :title="dialogTitle" :sign="dialogContent" :custwidth="dialogWidth"></dialog-box>
</transition>

而子组件为:

<script type="text/x-template" id="dialog-box-template">
<div class="dialog-wrap">
<div class="mask"></div>
<div class="dialog-is-distribute" :style="{width:custwidth}">
<div class="title"><b :class="showIcon"></b>{{title}}<i class="close" v-on:click="closedialog()"></i></div>
<dialog-add v-on:closedialog="closedialog" v-if="sign=='add'"></dialog-add>
<dialog-print v-on:closedialog="closedialog" v-else-if="sign=='print'"></dialog-print>
<dialog-addtab v-on:closedialog="closedialog" v-else-if="sign=='addtab'"></dialog-addtab>
<dialog-delete v-on:closedialog="closedialog" v-else-if="sign=='delete'"></dialog-delete>
</div>
</div>
</script>

然后每一个

dialog-add
dialog-print
dialog-addtab等等都是一个子组件;

使用slot编写弹窗组件的更多相关文章

  1. iOS应用日志:开始编写日志组件与异常日志

    应用日志(一):开始编写日志组件 对于那些做后端开发的工程师来说,看 LOG解Bug应该是理所当然的事,但我接触到的移动应用开发的工程师里面,很多人并没有这个意识,查Bug时总是一遍一遍的试图重现,试 ...

  2. Vue列表组件与弹窗组件示例

    列表组件 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <me ...

  3. 微信小程序弹窗组件

    概述 自己封装的一个比较简单微信弹窗小组件,主要就是教会大家对微信小组件的用法和理解,因为微信小程序对组件介绍特别少,所以我就把自己的理解分享给大家 详细 代码下载:http://www.demoda ...

  4. vue+element table的弹窗组件

    在处理表格编辑相关的需求,是需要做一个弹框进行保存的:或者查看表格数据的详细信息时,也是需要做弹窗: 当然 ,这是类似于这样的 ,当然 element 已经帮我们做好 弹窗这一块 主要 我想记录的是 ...

  5. 封装Vue Element的dialog弹窗组件

    我本没有想着说要封装一个弹窗组件,但有同行的朋友在问我,而且弹窗组件也确实在项目开发中用的比较多.思前想后,又本着样式统一且修改起来方便的原则,还是再为大家分享一个我所封装的弹窗组件吧. 其实,并不是 ...

  6. vue3系列:vue3.0自定义全局弹层V3Layer|vue3.x pc桌面端弹窗组件

    基于Vue3.0开发PC桌面端自定义对话框组件V3Layer. 前两天有分享一个vue3.0移动端弹出层组件,今天分享的是最新开发的vue3.0版pc端弹窗组件. V3Layer 一款使用vue3.0 ...

  7. 手把手教你撸个vue2.0弹窗组件

    手把手教你撸个vue2.0弹窗组件 在开始之前需要了解一下开发vue插件的前置知识,推荐先看一下vue官网的插件介绍 预览地址 http://haogewudi.me/kiko/inde... 源码地 ...

  8. Jquery弹窗组件

    下面是写的简单的Jquery弹窗组件 暂不支持animate,只能满足一般的弹窗显示隐藏需求,更多功能后续会完善!网上及jquery组件很多这样的弹窗,但是用别人的感觉心里过不去,所以就随便写写,当做 ...

  9. 百度智能小程序弹窗组件wcPop|智能小程序自定义model弹窗模板

    百度智能小程序自定义弹窗组件wcPop|百度小程序model对话框|智能小程序弹窗界面模板 最近百度也推出了自己的智能小程序,如是就赶紧去试了下,官方提供的api还不是狠完整.而且官方提供的弹窗组件也 ...

随机推荐

  1. LeetCode--067--二进制求和

    问题描述: 给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 示例 1: 输入: a = "11", b = "1&quo ...

  2. Java 的对象和类

    Java 是一种面向对象的语言.作为一个面向的语言,Java 具有面向对象的特性,Java 能够支持下面的一些基本概念 − 多态(Polymorphism) 继承(Inheritance) 封装(En ...

  3. Many Easy Problem

    转自hwk0518,不胜感谢,侵删.

  4. Axel and Marston in Bitland CodeForces - 782F (bitset优化)

    题目链接 $dp[0/1][i][x][y]$表示起始边为0/1, 走$2^i$ 步, 是否能从$x$走到$y$ 则有转移方程 $dp[z][i][x][y]\mid=dp[z][i-1][x][k] ...

  5. svn拒绝连接

    svn 服务开启: svnserve -d -r /home/svn

  6. 使用kubernetes的deployment进行RollingUpdate

    rolling update,可以使得服务近乎无缝地平滑升级,即在不停止对外服务的前提下完成应用的更新. replication controller与deployment的区别 replicatio ...

  7. javascript的逼格

    1.解释性脚本语言,无需编译,逐行解释运行 2.跨平台性,不依赖操作系统,只需要浏览器支持 javascript引擎:单线程

  8. JavaScript权威指南(第6版)(中文版)笔记

      JavaScript权威指南(第6版)(中文版)笔记      

  9. 小程序中bindtap绑定函数,函数参数event对数据的处理

    WXML: <view id=" bindtap="tapName"> Click me! </view> JS: Page({ tapName: ...

  10. httpclient 多线程请求

    线程请求执行 当配备一个线程池管理器后,如PollingClientConnectionManager,HttpClient就能使用执行着的多线程去执行并行的多请求. PollingClientCon ...