详解AngularJS 模态对话框


Posted in Javascript onApril 07, 2016

在涉及GUI程序开发的过程中,常常有模态对话框以及非模态对话框的概念

模态对话框:在子界面活动期间,父窗口是无法进行消息响应。独占用户输入

非模态对话框:各窗口之间不影响

主要区别:非模态对话框与APP共用消息循环,不会独占用户。

模态对话框独占用户输入,其他界面无法响应

本文内容

Angular JS 实现模式对话框。基于 AngularJS v1.5.3 和 Bootstrap v3.3.6。

项目结构

详解AngularJS 模态对话框 

图 1 项目结构

运行结果

详解AngularJS 模态对话框详解AngularJS 模态对话框

图 1 运行结果:大模态

index.html

<!DOCTYPE html>
<!--[if lt IE 7]> 
<html class="no-js lt-ie9 lt-ie8 lt-ie7">
<![endif]--><!--[if IE 7]> 
<html class="no-js lt-ie9 lt-ie8">
<![endif]--><!--[if IE 8]> 
<html class="no-js lt-ie9"> 
<![endif]--><!--[if gt IE 8]><!--><html class="no-js"><!--<![endif]--><head>
<meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width"><title>AngularJS 模态对话框</title><link rel="stylesheet" 
href="../src/vendor/bootstrap/dist/css/bootstrap.css">
</head>
<body ng-app="myApp" class="body"> 
<!-- modal template --> 
<script type="text/ng-template" id="myModelContent.html"> 
<div class="modal-header"> 
<h3 class="modal-title">模态框</h3> 
</div> 
<div class="modal-body"> 
<ul> 
<li ng-repeat="item in items"> 
<a ng-click="selected.item = item">{{item}}</a> 
</li> 
<div class="h2">当前选择:
<b>{{selected.item}}</b></div> 
</ul> 
</div> 
<div class="modal-footer"> 
<button class="btn btn-primary" ng-click="ok()"> 
确认 
</button> 
<button class="btn btn-warning" ng-click="cancel()">退出</button> 
</div> 
</script> 
<div class="container h1">AngularJS 模态对话框</div> 
<section class="row"> 
<section ng-controller="modalDemo" class="col-md-6" 
style="margin: 40px auto; float: none; background: #fff; padding: 30px;"> 
<button class="btn btn-default" ng-click="open('lg')">大模态</button> 
<button class="btn btn-default" ng-click="open()">中模态</button> 
<button class="btn btn-default" ng-click="open('sm')">小模态</button> 
<hr> 
<div class="h1" ng-show="selected">当前选择:{{selected}}</div> 
</section> 
</section> 
<!-- load js --> 
<script src="../src/vendor/angular/angular.js">
</script> 
<script 
src="http://cdn.bootcss.com/angular-ui-bootstrap/0.11.2/ui-bootstrap-tpls.js">
</script> 
<script src="../src/js/mymodal.js">
</script>
</body>
</html>

mymodal.js

/** * */angular.module('myApp', 
[ 'ui.bootstrap' ])
// demo controller.controller('modalDemo', function($scope, $modal, $log) 
{ 
// list 
$scope.items = [ 'angularjs', 'backbone', 'canjs', 'Ember', 'react' ]; 
// open click 
$scope.open = function(size) 
{ 
var modalInstance = $modal.open({ 
templateUrl : 'myModelContent.html', 
controller : 'ModalInstanceCtrl', // specify controller for modal 
size : size, 
resolve : { 
items : function() 
{ 
return $scope.items; 
} 
} 
}); 
// modal return result 
modalInstance.result.then(function(selectedItem)
{ 
$scope.selected = selectedItem; 
}, function() 
{ 
$log.info('Modal dismissed at: ' + new Date()) 
}); 
}})// modal controller.controller('ModalInstanceCtrl', function($scope, $modalInstance, items) 
{ 
$scope.items = items; 
$scope.selected = 
{ 
item : $scope.items[0] 
}; 
// ok click 
$scope.ok = function()
{ 
$modalInstance.close($scope.selected.item); 
}; 
// cancel click 
$scope.cancel = function() 
{ 
$modalInstance.dismiss('cancel'); 
}});

以上内容是小编给大家介绍的AngularJS 模态对话框 ,希望对大家有所帮助!

Javascript 相关文章推荐
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
Jun 04 Javascript
深入探寻seajs的模块化与加载方式
Apr 14 Javascript
深入讲解AngularJS中的自定义指令的使用
Jun 18 Javascript
js实现下拉列表选中某个值的方法(3种方法)
Dec 17 Javascript
解析Node.js基于模块和包的代码部署方式
Feb 16 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
May 30 Javascript
微信小程序  action-sheet详解及实例代码
Nov 09 Javascript
利用Javascript实现简单的转盘抽奖
Feb 13 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
Jan 24 Javascript
解决前后端分离 vue+springboot 跨域 session+cookie失效问题
May 13 Javascript
微信小程序HTTP接口请求封装代码实例
Sep 05 Javascript
一行JavaScript代码如何实现瀑布流布局
Dec 11 Javascript
分离与继承的思想实现图片上传后的预览功能:ImageUploadView
Apr 07 #Javascript
jQuery动态添加
Apr 07 #Javascript
javascript模块化简单解析
Apr 07 #Javascript
jquery编写Tab选项卡滚动导航切换特效
Jul 17 #Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
Apr 07 #Javascript
jQuery实现简单滚动动画效果
Apr 07 #Javascript
基于javascript bootstrap实现生日日期联动选择
Apr 07 #Javascript
You might like
PHP中的一些常用函数收集
2015/05/26 PHP
PHP使用mkdir创建多级目录的方法
2015/12/22 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
2016/05/20 PHP
php array_map使用自定义的函数处理数组中的每个值
2016/10/26 PHP
php7安装mongoDB扩展的方法分析
2017/08/02 PHP
PHP模糊查询技术实例分析【附源码下载】
2019/03/07 PHP
jQuery Tools Dateinput使用介绍
2012/07/14 Javascript
jQuery中replaceAll()方法用法实例
2015/01/16 Javascript
解析Node.js异常处理中domain模块的使用方法
2016/02/16 Javascript
JS HTML5拖拽上传图片预览
2016/07/18 Javascript
1秒50万字!js实现关键词匹配
2016/08/01 Javascript
JS碰撞运动实现方法详解
2016/12/15 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
详解vue-router导航守卫
2019/01/19 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
2019/12/17 Javascript
原生JavaScript写出Tabs标签页的实例代码
2020/07/20 Javascript
JS实现简单移动端鼠标拖拽
2020/07/23 Javascript
[03:55]DOTA2完美大师赛选手传记——LFY.MONET
2017/11/18 DOTA
[47:38]Optic vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
学习python (1)
2006/10/31 Python
在Python的列表中利用remove()方法删除元素的教程
2015/05/21 Python
Python使用PIL模块生成随机验证码
2017/11/21 Python
Python读取Json字典写入Excel表格的方法
2018/01/03 Python
Python3获取拉勾网招聘信息的方法实例
2019/04/03 Python
Pandas之Dropna滤除缺失数据的实现方法
2019/06/25 Python
Python多叉树的构造及取出节点数据(treelib)的方法
2019/08/09 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
python 解决selenium 中的 .clear()方法失效问题
2020/09/01 Python
CSS3动画之利用requestAnimationFrame触发重新播放功能
2019/09/11 HTML / CSS
HTML5是什么 HTML5是什么意思 HTML5简介
2012/10/26 HTML / CSS
小蚁科技官方商店:YI Technology
2019/08/23 全球购物
游戏商店:Eneba
2020/04/25 全球购物
linux系统都有哪些运行级别
2016/03/26 面试题
2014年党员评议表自我评价
2014/09/27 职场文书
2015年妇幼保健工作总结
2015/05/19 职场文书
微信搭讪开场白
2015/05/28 职场文书