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使用动态渲染表单功能完成ajax文件下载
Jan 15 Javascript
js获取多个tagname的节点数组
Sep 22 Javascript
使用jquery.validate自定义方法实现&quot;手机号码或者固话至少填写一个&quot;的逻辑验证
Sep 01 Javascript
jQuery实现当前页面标签高亮显示的方法
Mar 10 Javascript
JavaScript实现删除,移动和复制文件的方法
Aug 05 Javascript
js实现密码强度检测【附示例】
Mar 30 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
Jan 05 Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
Mar 27 jQuery
使用Vue-cli 3.0搭建Vue项目的方法
Jun 07 Javascript
JavaScript ES6中的简写语法总结与使用技巧
Dec 30 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
Aug 03 Javascript
vue 调用 RESTful风格接口操作
Aug 11 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面向对象编程快速入门
2006/10/09 PHP
main.php
2006/12/09 PHP
php whois查询API制作方法
2011/06/23 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
PHP基于接口技术实现简单的多态应用完整实例
2017/04/26 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
ext实现完整的登录代码
2008/08/08 Javascript
jquery.ui.draggable中文文档
2009/11/24 Javascript
jQuery easyui datagrid动态查询数据实例讲解
2013/02/26 Javascript
javascript怎么禁用浏览器后退按钮
2014/03/27 Javascript
ajax请求乱码的解决方法(中文乱码)
2014/04/10 Javascript
JavaScript错误处理
2015/02/03 Javascript
jQuery简单tab切换效果实现方法
2015/04/08 Javascript
Jquery遍历Json数据的方法
2015/04/20 Javascript
Web程序员必备的7个JavaScript函数
2016/06/14 Javascript
vue基于Vue2.0和高德地图的地图组件实例
2017/04/28 Javascript
基于jquery实现多级菜单效果
2017/07/25 jQuery
js实现图片轮播效果学习笔记
2017/07/26 Javascript
node.js实现微信JS-API封装接口的示例代码
2017/09/06 Javascript
JavaScript对象拷贝与Object.assign用法实例分析
2018/06/20 Javascript
TypeScript中使用getElementXXX()的示例代码
2019/09/12 Javascript
vue接通后端api以及部署到服务器操作
2020/08/13 Javascript
Python正则表达式完全指南
2017/05/25 Python
python Pandas 读取txt表格的实例
2018/04/29 Python
由Python编写的MySQL管理工具代码实例
2019/04/09 Python
python智联招聘爬虫并导入到excel代码实例
2019/09/09 Python
python数据预处理方式 :数据降维
2020/02/24 Python
Python自动化操作实现图例绘制
2020/07/09 Python
司法建议书范文
2014/05/13 职场文书
鉴史问廉观后感
2015/06/10 职场文书
企业安全生产检查制度
2015/08/06 职场文书
高一语文教学反思
2016/02/16 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书
甜美蛋糕店的创业计划书模板,拿来即用!
2019/08/21 职场文书
MySQL中日期型单行函数代码详解
2021/06/21 MySQL