详解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 相关文章推荐
IE8提示Invalid procedure call or argument 异常的解决方法
Sep 30 Javascript
js将json格式内容转换成对象的方法
Nov 01 Javascript
jQuery中innerWidth()方法用法实例
Jan 19 Javascript
js实现鼠标悬浮给图片加边框的方法
Jan 30 Javascript
jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果
Oct 28 Javascript
JS弹出新窗口被拦截的解决方法
Aug 09 Javascript
本地搭建微信小程序服务器的实现方法
Oct 27 Javascript
用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)
Dec 05 Javascript
webpack file-loader和url-loader的区别
Jan 15 Javascript
VUE写一个简单的表格实例
Aug 06 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
Aug 12 Javascript
three.js着色器材质的内置变量示例详解
Aug 16 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
简单的页面缓冲技术
2006/10/09 PHP
浅谈PHP值mysql操作类
2016/06/29 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
2018/10/18 PHP
关于JavaScript定义类和对象的几种方式
2010/11/09 Javascript
兼容IE和FF的js脚本代码小结(比较常用)
2010/12/06 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
js正则表达式中exec用法实例
2015/07/23 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
2016/05/12 Javascript
Bootstrap组件学习之导航、标签、面包屑导航(精品)
2016/05/17 Javascript
jquery+CSS3实现3D拖拽相册效果
2016/07/18 Javascript
JS仿京东移动端手指拨动切换轮播图效果
2020/04/10 Javascript
Bootstrap禁用响应式布局的实现方法
2017/03/09 Javascript
ES6中Iterator与for..of..遍历用法分析
2017/03/31 Javascript
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
2017/12/18 jQuery
浅谈PDF.js使用心得
2018/06/07 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
2018/11/30 Javascript
微信小程序实现swiper切换卡内嵌滚动条不显示的方法示例
2018/12/20 Javascript
js中的this的指向问题详解
2019/08/29 Javascript
Python正则表达式的使用范例详解
2014/08/08 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
django中模板的html自动转意方法
2018/05/27 Python
使用Python OpenCV为CNN增加图像样本的实现
2019/06/10 Python
通过python改变图片特定区域的颜色详解
2019/07/15 Python
通过实例了解Python str()和repr()的区别
2020/01/17 Python
python游戏开发的五个案例分享
2020/03/09 Python
Python的logging模块基本用法
2020/12/24 Python
个人简历自我评价
2014/01/06 职场文书
公司司机岗位职责
2014/02/07 职场文书
机械专业求职信
2014/05/25 职场文书
青年文明号口号
2014/06/17 职场文书
2014年局领导班子自身建设情况汇报
2014/11/21 职场文书
先进事迹材料怎么写
2014/12/30 职场文书
大卫科波菲尔读书笔记
2015/06/30 职场文书
2016年全国爱眼日宣传教育活动总结
2016/04/05 职场文书