Angular2.0实现modal对话框的方法示例


Posted in Javascript onFebruary 18, 2018

本文实例讲述了Angular2.0实现modal对话框的方法。分享给大家供大家参考,具体如下:

觉得写的比较巧妙的就是样式的选取~记录下

CSS部分

.font {
 font-family: "Microsoft YaHei", Arial;
 font-size: 12px;
 color: #333333;
}
.ky-modal-content {
 min-width: 520px;
 min-height: 240px;
}
.ky-modal-header {
 /*height : 40px;*/
 padding: 0 10px 0 10px;
}
.ky-modal-title {
 font-size: 16px;
 font-weight: 100;
}
.ky-modal-body {
 min-height: 110px;
 text-align: center;
}
.ky-modal-footer {
 height: 30px;
 border-top: 0;
 text-align: -webkit-center;
}
.ky-modal-message {
 padding-left: 3px;
 vertical-align: middle;
}
.ky-modal-icon {
 font-size: 16px;
 vertical-align: middle;
}
.ky-modal-question-icon {
 color:#ff8000;
}
.ky-modal-check-icon {
 color:green;
}
.ky-modal-exclamation-icon {
 color:red;
}
.ky-modal-close {
 outline: none;
 font-size: 30px;
 margin-top: 8px;
 font-weight: 100;
 vertical-align: -webkit-baseline-middle;
}
.vertical-align-center {
 display: flex;
 display: -webkit-box;
 display: -moz-box;
 -webkit-box-align: center;
 -moz-box-align: center;
 text-align: -webkit-center;
}

HTML部分

<div [id]="id" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
 <div class="modal-dialog">
 <div class="modal-content ky-modal-content">
  <div class="modal-header ky-modal-header">
  <button type="button" class="close ky-modal-close" data-dismiss="modal" aria-label="Close">
   <span style="position: fixed;right: 10px;top:-6px" aria-hidden="true">×</span>
  </button>
  <h4 class="modal-title ky-modal-title" >{{title}}</h4>
  </div>
  <div class="modal-body ky-modal-body vertical-align-center">
  <div>
   <span style="font-size:18px;"> <span style="color:#ff0000;"><i class="fa ky-modal-icon" [ngClass]="iconClass" aria-hidden="true"></i></span></span>
   <span class="ky-modal-message">{{message}}</span>
  </div>
  </div>
  <div class="modal-footer ky-modal-footer">
  <ky-button [type]="conformButtonType" data-dismiss="modal" (click)="confirmButtonDown()">{{confirmText}}</ky-button>
  <ky-button [type]="'cancel'" data-dismiss="modal" (click)="cancelButtonDown()">{{cancelText}}</ky-button>
  </div>
 </div>
 </div>
</div>

JS部分

import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';
@Component({
 moduleId: module.id,
 selector: 'ky-modal',
 styleUrls: ['./ky-modal.css'],
 templateUrl: './ky-modal.component.html',
})
export class KyModalComponent implements OnInit {
 @Input() title:string = '';
 @Input() type:string = '';
 @Input() message:string = '';
 @Input() confirmText:string = '';
 @Input() cancelText:string = '';
 @Input() id:string;
 @Input() conformButtonType:string;
 iconType ='question';
 iconClass :any = {'fa-question-circle':false,
  'fa-check-circle':false,
  'fa-exclamation-circle':false};
 typeList = ['question', 'check', 'exclamation'];
 @Output() actionButtonDown = new EventEmitter();
 @Output() undoButtonDown = new EventEmitter();
 cancelButtonDown() {
  this.undoButtonDown.emit('event');
 }
 confirmButtonDown() {
  this.actionButtonDown.emit('event');
 }
 determine() {
  let that = this;
  if(that.type && _.contains(that.typeList,that.type)) {
   that.iconType = that.type;
  }
  that.iconClass[`fa-${that.iconType}-circle`] = true;
  that.iconClass[`ky-modal-${that.iconType}-icon`] = true;</span>
 }
 ngOnInit() {
  this.determine();
 }
}

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
JavaScript 解析Json字符串的性能比较分析代码
Dec 16 Javascript
javascript中的关于类型转换的性能优化
Dec 14 Javascript
js实现广告漂浮效果的小例子
Jul 02 Javascript
js实现目录定位正文示例
Nov 14 Javascript
使用jquery实现以post打开新窗口
Mar 19 Javascript
浅谈javascript 函数内部属性
Jan 21 Javascript
jQuery实现统计输入文字个数的方法
Mar 11 Javascript
自己动手制作基于jQuery的Web页面加载进度条插件
Jun 03 Javascript
原生js实现tab选项卡切换
Mar 23 Javascript
JavaScript面试出现频繁的一些易错点整理
Mar 29 Javascript
vue基础之模板和过滤器用法实例分析
Mar 12 Javascript
JavaScript中展开运算符及应用的实例代码
Jan 14 Javascript
JS实现运动缓冲效果的封装函数示例
Feb 18 #Javascript
Vue底层实现原理总结
Feb 17 #Javascript
js实现控制文件拖拽并获取拖拽内容功能
Feb 17 #Javascript
图文介绍Vue父组件向子组件传值
Feb 17 #Javascript
JavaScript异步加载问题总结
Feb 17 #Javascript
js装饰设计模式学习心得
Feb 17 #Javascript
Vue组件库发布到npm详解
Feb 17 #Javascript
You might like
PHP高级对象构建 多个构造函数的使用
2012/02/05 PHP
php操作redis缓存方法分享
2015/06/03 PHP
PHP获取用户客户端真实IP的解决方案
2016/10/10 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
2017/03/12 PHP
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
实例讲解php实现多线程
2019/01/27 PHP
一些不错的js函数ajax
2008/08/20 Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件
2010/08/24 Javascript
javascript中节点的最近的相关节点访问方法
2013/03/20 Javascript
javascript实现获取cookie过期时间的变通方法
2014/08/14 Javascript
原生js制作简单的数字键盘
2015/04/24 Javascript
javascript简单实现类似QQ头像弹出效果的方法
2015/08/03 Javascript
基于jquery实现在线选座订座之影院篇
2015/08/24 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
2015/09/24 Javascript
使用bootstrap实现多窗口和拖动效果
2016/09/22 Javascript
canvas 弹幕效果(实例分享)
2017/01/11 Javascript
jQuery滚动条美化插件nicescroll简单用法示例
2018/04/18 jQuery
Vue与Node.js通过socket.io通信的示例代码
2018/07/25 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
微信小程序中转义字符的处理方法
2019/03/28 Javascript
javascript数据类型中的一些小知识点(推荐)
2019/04/18 Javascript
vue实现点击追加选中样式效果
2019/11/01 Javascript
Vue-cli3多页面配置详解
2020/03/22 Javascript
简单了解JavaScript arguement原理及作用
2020/05/28 Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
2020/06/19 Javascript
Python基于PycURL自动处理cookie的方法
2015/07/25 Python
python使用python-pptx删除ppt某页实例
2020/02/14 Python
python2和python3哪个使用率高
2020/06/23 Python
python爬虫爬取某网站视频的示例代码
2021/02/20 Python
CSS3 选择器 基本选择器介绍
2012/01/21 HTML / CSS
Woolworth官网:澳洲第一大超市
2017/06/25 全球购物
精伦电子Java笔试题
2013/01/16 面试题
绿化工程实施方案
2014/03/17 职场文书
2014年调度员工作总结
2014/11/19 职场文书
三年级上册科学教学计划
2015/01/21 职场文书
windows10 家庭版下FTP服务器搭建教程
2022/08/05 Servers