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+jqmodal弹出窗口实现代码分明
Jun 14 Javascript
js以对象为索引的关联数组
Jul 04 Javascript
读jQuery之十一 添加事件核心方法
Jul 31 Javascript
JavaScript打开word文档的实现代码(c#)
Apr 16 Javascript
jquery中交替点击事件的实现代码
Feb 14 Javascript
浅谈jQuery的offset()方法及示例分享
Jul 17 Javascript
bootstrap实现每隔5秒自动轮播效果
Dec 20 Javascript
jQuery实现在HTML文档加载完毕后自动执行某个事件的方法
May 08 jQuery
vue iView 上传组件之手动上传功能
Mar 16 Javascript
jQuery中图片展示插件highslide.js的简单dom
Apr 22 jQuery
JavaScript canvas实现雪花随机动态飘落
Feb 08 Javascript
JavaScript代码模拟鼠标自动点击事件示例
Aug 07 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中Session的概念
2006/10/09 PHP
php正则表达匹配中文问题分析小结
2012/03/25 PHP
初识PHP
2014/09/28 PHP
javascript 图片上传预览-兼容标准
2009/06/01 Javascript
在chrome中window.onload事件的一些问题
2010/03/01 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
2013/01/06 Javascript
两种方法实现文本框输入内容提示消失
2013/03/17 Javascript
javascript设置金额样式转换保留两位小数示例代码
2013/12/04 Javascript
jquery中html、val与text三者属性取值的联系与区别介绍
2013/12/29 Javascript
jQuery 取值、赋值的基本方法整理
2014/03/31 Javascript
js分页工具实例
2015/01/28 Javascript
使用jQuery获得内容以及内容的属性
2015/02/26 Javascript
JavaScript获取当前网页最后修改时间的方法
2015/04/03 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
2015/08/27 Javascript
jquery仿京东商品放大浏览页面
2017/06/06 jQuery
详解cordova打包成webapp的方法
2017/10/18 Javascript
解决vue 引入子组件报错的问题
2018/09/06 Javascript
重学JS之显示强制类型转换详解
2019/06/30 Javascript
Vue.js中provide/inject实现响应式数据更新的方法示例
2019/10/16 Javascript
[01:09:13]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第三场 1月19日
2021/03/11 DOTA
Python中计算三角函数之cos()方法的使用简介
2015/05/15 Python
解决python读取几千万行的大表内存问题
2018/06/26 Python
python爬虫获取百度首页内容教学
2018/12/23 Python
pd.DataFrame统计各列数值多少的实例
2019/12/05 Python
python列表生成器迭代器实例解析
2019/12/19 Python
python kafka 多线程消费者&amp;手动提交实例
2019/12/21 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
Python中zipfile压缩文件模块的基本使用教程
2020/06/14 Python
keras的三种模型实现与区别说明
2020/07/03 Python
Python爬虫制作翻译程序的示例代码
2021/02/22 Python
Cocopanda波兰:购买化妆品、护肤品、护发和香水
2020/05/25 全球购物
德国的大型美妆个护电商:Flaconi
2020/06/26 全球购物
房屋租赁协议书范本
2014/04/10 职场文书
新闻人物通讯稿
2014/10/09 职场文书
政审证明范文
2015/06/19 职场文书
初中开学典礼新闻稿
2015/07/17 职场文书