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学习笔记之控制页面实现代码
Feb 27 Javascript
Package.js  现代化的JavaScript项目make工具
May 23 Javascript
JS中处理与当前时间间隔的函数代码
May 23 Javascript
利用js判断浏览器类型(是否为IE,Firefox,Opera浏览器)
Nov 22 Javascript
JS实现可展开折叠层的鼠标拖曳效果
Oct 09 Javascript
大型JavaScript应用程序架构设计模式
Jun 29 Javascript
简单谈谈Vue 模板各类数据绑定
Sep 25 Javascript
jQuery Form表单取值的方法
Jan 11 Javascript
Angular中使用MathJax遇到的一些问题
Dec 15 Javascript
JavaScript累加、迭代、穷举、递归等常用算法实例小结
May 08 Javascript
利用Dectorator分模块存储Vuex状态的实现
Feb 05 Javascript
vue fetch中的.then()的正确使用方法
Apr 17 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/01/10 PHP
php实现json编码的方法
2015/07/30 PHP
基于laravel belongsTo使用详解
2019/10/18 PHP
PHP实现限制域名访问的实现代码(本地验证)
2020/09/13 PHP
实例:用 JavaScript 来操作字符串(一些字符串函数)
2007/02/15 Javascript
javascript 清除输入框中的数据
2009/04/13 Javascript
jquery调用asp.net 页面后台的实现代码
2011/04/27 Javascript
jquery判断输入密码两次是否相等
2020/04/22 Javascript
javascript中使用未定义变量或值的情况分析
2016/07/19 Javascript
JavaScript从0开始构思表情插件
2016/07/26 Javascript
Nodejs下DNS缓存问题浅析
2016/11/16 NodeJs
微信小程序中的onLoad详解及简单实例
2017/04/05 Javascript
React根据宽度自适应高度的示例代码
2017/10/11 Javascript
react router4+redux实现路由权限控制的方法
2018/05/03 Javascript
小程序tab页无法传递参数的方法
2018/08/03 Javascript
详解如何在vue项目中使用lodop打印插件
2018/09/27 Javascript
JS无限级导航菜单实现方法
2019/01/05 Javascript
jQuery子选择器与可见性选择器实例分析
2019/06/28 jQuery
layui-tree实现Ajax异步请求后动态添加节点的方法
2019/09/23 Javascript
vue 实现websocket发送消息并实时接收消息
2019/12/09 Javascript
javascript实现前端成语点击验证优化
2020/06/24 Javascript
[03:03]DOTA2校园争霸赛 济南城市决赛欢乐发奖活动
2013/10/21 DOTA
[51:17]Mski vs VGJ.S Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
[55:56]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
Python的迭代器和生成器使用实例
2015/01/14 Python
Python3遍历目录树实现方法
2015/05/22 Python
python 使用get_argument获取url query参数
2017/04/28 Python
Python 修改列表中的元素方法
2018/06/26 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
2020/05/12 Python
Python爬虫之Selenium警告框(弹窗)处理
2020/12/04 Python
英国户外装备商店:Ultimate Outdoors
2019/05/07 全球购物
挂牌仪式策划方案
2014/05/18 职场文书
导游词之河姆渡遗址博物馆
2019/10/10 职场文书
Python list列表删除元素的4种方法
2021/11/01 Python
mysql 索引的数据结构为什么要采用B+树
2022/04/26 MySQL