AngularJs 弹出模态框(model)


Posted in Javascript onApril 07, 2016

推荐阅读:详解AngularJS 模态对话框

$modal是一个可以迅速创建模态窗口的服务,创建部分页,控制器,并关联他们。

$modal仅有一个方法open(options)

templateUrl:模态窗口的地址

template:用于显示html标签

scope:一个作用域为模态的内容使用(事实上,$modal会创建一个当前作用域的子作用域)默认为$rootScope

controller:为$modal指定的控制器,初始化$scope,该控制器可用$modalInstance注入

resolve:定义一个成员并将他传递给$modal指定的控制器,相当于routes的一个reslove属性,如果需要传递一个objec对象,需要使用angular.copy()

backdrop:控制背景,允许的值:true(默认),false(无背景),“static” - 背景是存在的,但点击模态窗口之外时,模态窗口不关闭

keyboard:当按下Esc时,模态对话框是否关闭,默认为ture

windowClass:指定一个class并被添加到模态窗口中

open方法返回一个模态实例,该实例有如下属性

close(result):关闭模态窗口并传递一个结果

dismiss(reason):撤销模态方法并传递一个原因

result:一个契约,当模态窗口被关闭或撤销时传递

opened:一个契约,当模态窗口打开并且加载完内容时传递的变量

另外,$modalInstance扩展了两个方法$close(result)、$dismiss(reason),这些方法很容易关闭窗口并且不需要额外的控制器

HTML

<!DOCTYPE html> 
<html ng-app="ModalDemo"> 
<head> 
<title></title> 
<link href="lib/bootstrap/css/bootstrap.min.css" rel="stylesheet"> 
<script src="lib/angular/angular.min.js"></script> 
<script src="lib/bootstrap-gh-pages/ui-bootstrap-tpls-...min.js"></script> 
<script src="lib/angular/in/angular-locale_zh-cn.js"></script> 
</head> 
<body> 
<div ng-controller="ModalDemoCtrl"> 
<script type="text/ng-template" id="myModalContent.html"> 
<div class="modal-header"> 
<h>I'm a modal!</h> 
</div> 
<div class="modal-body"> 
<ul> 
<li ng-repeat="item in items"> 
<a ng-click="selected.item = item">{{ item }}</a> 
</li> 
</ul> 
Selected: <b>{{ selected.item }}</b> 
</div> 
<div class="modal-footer"> 
<button class="btn btn-primary" ng-click="ok()">OK</button> 
<button class="btn btn-warning" ng-click="cancel()">Cancel</button> 
</div> 
</script> 
<button class="btn" ng-click="open()">Open me!</button> 
</div> 
<script> 
var ModalDemo = angular.module('ModalDemo', ['ui.bootstrap']); 
var ModalDemoCtrl = function ($scope, $modal, $log) { 
$scope.items = ['item', 'item', 'item']; 
$scope.open = function () { 
var modalInstance = $modal.open({ 
templateUrl: 'myModalContent.html', 
controller: ModalInstanceCtrl, 
resolve: { 
items: function () { 
return $scope.items; 
} 
} 
}); 
modalInstance.opened.then(function(){//模态窗口打开之后执行的函数 
console.log('modal is opened'); 
}); 
modalInstance.result.then(function (result) { 
console.log(result); 
}, function (reason) { 
console.log(reason);//点击空白区域,总会输出backdrop click,点击取消,则会暑促cancel 
$log.info('Modal dismissed at: ' + new Date()); 
}); 
}; 
}; 
var ModalInstanceCtrl = function ($scope, $modalInstance, items) { 
$scope.items = items; 
$scope.selected = { 
item: $scope.items[] 
}; 
$scope.ok = function () { 
$modalInstance.close($scope.selected); 
}; 
$scope.cancel = function () { 
$modalInstance.dismiss('cancel'); 
}; 
}; 
</script> 
</body> 
</html>

以上所述是小编给大家介绍的AngularJs 弹出模态框(model)的相关内容,希望对大家有所帮助!

Javascript 相关文章推荐
jquery控制listbox中项的移动并排序
Nov 12 Javascript
jquery 可拖拽的窗体控件实现代码
Mar 21 Javascript
javascript学习笔记(十四) window对象使用介绍
Jun 20 Javascript
jquery将一个表单序列化为一个对象的方法
Jan 03 Javascript
JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
May 19 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
Aug 01 Javascript
js实现5秒倒计时重新发送短信功能
Feb 05 Javascript
js canvas实现QQ拨打电话特效
May 10 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
Oct 31 Javascript
iview table render集成switch开关的实例
Mar 14 Javascript
微信小程序实现日历功能
Nov 27 Javascript
浅谈Angular7 项目开发总结
Dec 19 Javascript
详解AngularJS 模态对话框
Apr 07 #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
You might like
基于php无限分类的深入理解
2013/06/02 PHP
PHP执行SQL文件并将SQL文件导入到数据库
2015/09/17 PHP
php-fpm中max_children的配置
2019/03/15 PHP
JavaScript Event学习第五章 高级事件注册模型
2010/02/07 Javascript
jQuery EasyUI API 中文文档 - ComboTree组合树
2011/10/11 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
PHP中CURL的几个经典应用实例
2015/01/23 Javascript
Node.js事件驱动
2015/06/18 Javascript
深入理解jquery中extend的实现
2016/12/22 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
浅谈angularjs中响应回车事件
2017/04/24 Javascript
Angularjs 与 bower安装和使用详解
2017/05/11 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
2018/07/16 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
2019/02/19 Javascript
ES6 Promise对象的含义和基本用法分析
2019/06/14 Javascript
[44:40]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
将图片文件嵌入到wxpython代码中的实现方法
2014/08/11 Python
python正则表达式中的括号匹配问题
2014/12/14 Python
在Python的Django框架中用流响应生成CSV文件的教程
2015/05/02 Python
Python实现的朴素贝叶斯分类器示例
2018/01/06 Python
Python处理菜单消息操作示例【基于win32ui模块】
2018/05/09 Python
python 实现selenium断言和验证的方法
2019/02/13 Python
Python叠加两幅栅格图像的实现方法
2019/07/05 Python
详解Matplotlib绘图之属性设置
2019/08/23 Python
基于python的BP神经网络及异或实现过程解析
2019/09/30 Python
Python 实现取多维数组第n维的前几位
2019/11/26 Python
tensorflow指定GPU与动态分配GPU memory设置
2020/02/03 Python
Python3.7黑帽编程之病毒篇(基础篇)
2020/02/04 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
降低python版本的操作方法
2020/09/11 Python
python代数式括号有效性检验示例代码
2020/10/04 Python
英国最大的女士服装零售商:Bonmarché
2017/08/17 全球购物
屈臣氏泰国官网:Watsons TH
2021/02/23 全球购物
List, Set, Map是否继承自Collection接口?
2016/05/16 面试题
派出所正风肃纪剖析材料
2014/10/10 职场文书
2015年店长工作总结范文
2015/04/08 职场文书