这个控件个人很喜欢,比起primgNG等弹窗组建,这款弹窗可以很轻松的定义自己的样式和布局。

可控参数有:宽度,高度,是否带有关闭图标,基本满足基础弹窗需求。

并且 Title/Content/Footer可以不强制三者并存。

调用组件方法如下:

<popup-common *ngIf="showPupup" [width]="600" [height]="300" [closebtn]="true" (popupData)="closePopupFn($event)">
<div class="popup-title">Title</div>
<div class="popup-content">
This is the content.
</div>
<div class="popup-footer">
This is the footer.
</div>
</popup-common>

 

弹窗组件:

import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';

@Component ({
selector: 'popup-common',
template: `<div class="popup-mask">
<div class="popup-maskBox">
<div class="popup-maskContentBox" [ngStyle]="getStyle()">
<ng-content select=".popup-title"></ng-content>
<ng-content select=".popup-content"></ng-content>
<ng-content select=".popup-footer"></ng-content>
<span class="fa fa-close close-icon" *ngIf="closebtn" (click)="closePopupFn()"></span>
</div>
</div>
</div>
`,
styles: [`
.popup-maskContentBox {
position: relative;
}
.close-icon {
position: absolute;
right: -15px;
top: -15px;
color: #fff;
background: rgba(0,0,0,.5);
border-radius: 50%;
font-size: 12px;
width: 30px;
height: 30px;
text-align: center;
line-height: 30px;
}
.close-icon:hover {
cursor: pointer;
}
`]
}) export class PopupCommonComponent implements OnInit {
@Input() width: number;
@Input() height: number;
@Input() showPopup: boolean;
@Input() closebtn: boolean = true;
@Output() popupData = new EventEmitter(); ngOnInit(){
this.width = this.width != undefined ? this.width : 500;
} getStyle(){
return { width: this.width + 'px', height: this.height + 'px' }
} closePopupFn(){
this.showPopup = false;
this.popupData.emit(this.showPopup);
} }

  

 

Angular 弹窗 控件的更多相关文章

  1. 多功能弹窗控件layer

    开发网站的时候,如何合理运用好各种插件对开发的帮助是很大的. 免去了我们调试各种交互效果, 比如常用的弹窗.气泡.提示.加载.焦点.标签.导航.折叠等等 这里会推荐几个常用的js插件,丰富多样简单易移 ...

  2. jquery.sobox 经典版弹窗控件

    sobox 是一款非常实用的,基于 jQuery 的弹窗控件.功能非常完整,而代码量又非常少(压缩完仅8k不到)的一款弹窗控件,如果你熟悉ext的弹窗控件,那么sobox的使用对你来说应该是愉悦而完全 ...

  3. Kendo UI for Angular 2 控件

    Kendo UI for Angular 2 控件 伴随着 Angular 2 的正式 release,Kendo UI for Angular 2 的第一批控件已经发布了,当前是 Beta 版本,免 ...

  4. (转载)Android UI设计之AlertDialog弹窗控件

    Android UI设计之AlertDialog弹窗控件 作者:qq_27630169 字体:[增加 减小] 类型:转载 时间:2016-08-18我要评论 这篇文章主要为大家详细介绍了Android ...

  5. 集成 Kendo UI for Angular 2 控件

    伴随着 Angular 2 的正式 release,Kendo UI for Angular 2 的第一批控件已经发布了,当前是 Beta 版本,免费使用. 官方站点:Kendo UI for Ang ...

  6. 玩转控件:重写/重绘Dev中MessageBox弹窗控件

    很久没有更新博客了,本想着直接发一篇<手撕ERP>系列,从控件重写.重绘,到框架搭建,再到部分模块实现+业务的.但是每次动手的时候,都觉得难以下手.直接从数据库设计开始吧,模块设计还没定下 ...

  7. Jbox弹窗控件无法获取子页面元素值得问题

    top.$.jBox.open("iframe:${ctx}/report/reportSubjectDatabase/toChildWindow", "请选择重构快照表 ...

  8. [iOS基础控件 - 6.11.3] 私人通讯录Demo 控制器的数据传递、存储

    A.需求 1.搭建一个"私人通讯录"Demo 2.模拟登陆界面 账号 密码 记住密码开关 自动登陆开关 登陆按钮 3.退出注销 4.增删改查 5.恢复数据(取消修改)   这个代码 ...

  9. angular+bootstrap+MVC 之三,分页控件初级版

    今天实现一个分页控件,效果如下: 1.HTML: <!doctype html> <!--suppress ALL --> <html ng-app="appT ...

随机推荐

  1. 有关使用 iview 表单验证的问题

    Vue的UI解决框架,element-UI, iview-UI 有关表单验证使用的是同一个插件,async-validator,有关这个插件的用法就不做赘述,但是在iview表单的使用中可能会用到验证 ...

  2. C# 装箱和拆箱[整理](转)

    //1. // 装箱和拆箱是一个抽象的概念 //2. // 装箱是将值类型转换为引用类型 :拆箱是将引用类型转换为值类型 // 利用装箱和拆箱功能,可通过允许值类型的任何值与Object 类型的值相互 ...

  3. 用POP动画模拟真实秒钟摆动效果

    用POP动画模拟真实秒钟摆动效果 静态图: 动画图: 此处用到了POP中的Spring系列动画,现提供源码如下: SecondClockView.h 与 SecondClockView.m // // ...

  4. 为exchange 2010 owa 添加验证码

    微软给了exchange owa页面加固的方案,如有需要,请查看. https://partnersupport.microsoft.com/zh-hans/par_servplat/forum/pa ...

  5. 一点二次插值、二点二次插值 ,matlab

    syms f x a b c; f(x)=3*x^4-4*x^3-12*x^2; q(x)=a*x^2+b*x+c; %二点二次插值 x=[-1.2 -0.8]; ff=diff(diff(f)); ...

  6. 性能调优的本质、Spark资源使用原理和调优要点分析

    本课主题 大数据性能调优的本质 Spark 性能调优要点分析 Spark 资源使用原理流程 Spark 资源调优最佳实战 Spark 更高性能的算子 引言 我们谈大数据性能调优,到底在谈什么,它的本质 ...

  7. pip 升级 Appium-Python-Client

    第一种方法: pip install --upgrade Appium-Python-Client 如果出现权限提醒: sudo -H pip install --upgrade Appium-Pyt ...

  8. TcpListerner、TcpClient 、邮件发送MailMessage、SmtpClient类

    一.服务端 TcpListener server = );//定义监听器 server.Start();//启动监听器 ]; //创建一个容器用于接受数据 string data = null; wh ...

  9. 78、WebClient实现上传下载 System.Net、System.Uri类

    高层类.使用简单.均支持异步版本.支持http,https,fpt,files等URI. 一.下载 方法: Stream= client.OpenRead(serverUri): 打开一个可读的流.对 ...

  10. Java.lang 包 (包装类、String类、Math类、Class类、Object类)

    Java 的核心 API(Application Programming Interface)是非常庞大的,这给开发者带来了很大的方便. java.lang 包是 Java 的核心类库,它包含了运行 ...