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 相关文章推荐
jquery select下拉框操作的一些说明
Apr 02 Javascript
一个原生的用户等级的进度条
Jul 03 Javascript
新鲜出炉的js tips提示效果
Apr 03 Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
Jan 08 Javascript
JS动态插入并立即执行回调函数的方法
Apr 21 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
Oct 09 Javascript
Angular.js初始化之ng-app的自动绑定与手动绑定详解
Jul 31 Javascript
vue脚手架及vue-router基本使用
Apr 09 Javascript
详解jQuery设置内容和属性
Apr 11 jQuery
纯js+css实现在线时钟
Aug 18 Javascript
如何在Express4.x中愉快地使用async的方法
Nov 18 Javascript
js制作提示框插件
Dec 24 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动态生成虚拟现实VRML网页
2006/10/09 PHP
php图片的裁剪与缩放生成符合需求的缩略图
2013/01/11 PHP
大家须知简单的php性能优化注意点
2016/01/04 PHP
js获取ajax返回值代码
2014/04/30 Javascript
jQuery中ajax的get()方法用法实例
2014/12/26 Javascript
JS动态加载当前时间的方法
2015/02/09 Javascript
JavaScript中诡异的delete操作符
2015/03/12 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
2016/05/03 Javascript
JavaScript数组操作详解
2017/02/04 Javascript
angular2+nodejs实现图片上传功能
2017/03/27 NodeJs
JS自定义滚动条效果简单实现代码
2020/10/27 Javascript
一步步教会你微信小程序的登录鉴权
2018/04/09 Javascript
微信小程序实现预览图片功能
2020/10/22 Javascript
对 Vue-Router 进行单元测试的方法
2018/11/05 Javascript
封装微信小程序http拦截器过程解析
2019/08/13 Javascript
浅析js实现网页截图的两种方式
2019/11/01 Javascript
Python PyQt4实现QQ抽屉效果
2018/04/20 Python
Python Logging 日志记录入门学习
2018/06/02 Python
使用Python自动化破解自定义字体混淆信息的方法实例
2019/02/13 Python
Python进程Multiprocessing模块原理解析
2020/02/28 Python
Python3 mmap内存映射文件示例解析
2020/03/23 Python
Python+Django+MySQL实现基于Web版的增删改查的示例代码
2020/05/13 Python
Python操作word文档插入图片和表格的实例演示
2020/10/25 Python
中国综合性网上购物商城:当当(网上卖书起家)
2016/11/16 全球购物
美国存储和组织商店:The Container Store
2017/08/16 全球购物
英国最大的宝石首饰超市:QP Jewellers
2018/09/23 全球购物
Kingsoft金山公司C/C++笔试题
2016/05/10 面试题
如何现实servlet的单线程模式
2014/08/05 面试题
护理自荐信
2013/10/22 职场文书
教育学专业毕业生的自我鉴定
2013/11/26 职场文书
买卖车协议书
2014/04/21 职场文书
学校爱心捐款倡议书
2014/05/13 职场文书
党员群众路线剖析材料
2014/10/08 职场文书
党的群众路线教育实践活动心得体会(乡镇)
2014/11/03 职场文书
2015年税务稽查工作总结
2015/05/26 职场文书
MySQL系列之二 多实例配置
2021/07/02 MySQL