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 相关文章推荐
重定向实现代码
Nov 20 Javascript
用jscript启动sqlserver
Jun 21 Javascript
Javascript基础教程之函数对象和属性
Jan 18 Javascript
jquery中checkbox使用方法简单实例演示
Nov 24 Javascript
Jquery检验手机号是否符合规则并根据手机号检测结果将提交按钮设为不同状态
Nov 26 Javascript
javascript类型系统——日期Date对象全面了解
Jul 13 Javascript
js实现本地时间同步功能
Aug 26 Javascript
详解React native全局变量的使用(跨组件的通信)
Sep 07 Javascript
EasyUI实现下拉框多选功能
Nov 07 Javascript
使用vue-cli打包过程中的步骤以及问题的解决
May 08 Javascript
详解element-ui动态限定的日期范围选择器代码片段
Jul 03 Javascript
vscode 使用Prettier插件格式化配置使用代码详解
Aug 10 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抽象类 介绍
2012/06/13 PHP
PHP操作Memcache实例介绍
2013/06/14 PHP
php实现的简单日志写入函数
2015/03/31 PHP
PHP基于MySQL数据库实现对象持久层的方法
2015/06/17 PHP
ThinkPHP进程计数类Process用法实例详解
2015/09/25 PHP
解析WordPress中函数钩子hook的作用及基本用法
2015/12/22 PHP
JS DOM 操作实现代码
2010/08/01 Javascript
jquery focus(fn),blur(fn)方法实例代码
2011/12/16 Javascript
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
2015/06/16 Javascript
基于JQuery实现分隔条的功能
2016/06/17 Javascript
AngularJS 工作原理详解
2016/08/18 Javascript
Layer弹出层动态获取数据的方法
2018/08/20 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
2019/04/14 Javascript
微信小程序云开发之新手环境配置
2019/05/16 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
2019/07/05 Javascript
OpenLayers3实现鼠标移动显示坐标
2020/09/25 Javascript
利用 Monkey 命令操作屏幕快速滑动
2016/12/07 Python
Python中单、双下划线的区别总结
2017/12/01 Python
python matlibplot绘制多条曲线图
2021/02/19 Python
Python实现的网页截图功能【PyQt4与selenium组件】
2018/07/12 Python
Python使用正则表达式分割字符串的实现方法
2019/07/16 Python
如何解决tensorflow恢复模型的特定值时出错
2020/02/06 Python
在pytorch中动态调整优化器的学习率方式
2020/06/24 Python
Farfetch香港官网:汇集全球时尚奢侈品购物平台
2017/11/26 全球购物
如何判断计算机可能已经中马
2013/03/22 面试题
如何定义一个可复用的服务
2014/09/30 面试题
学期自我评价
2014/01/27 职场文书
营销团队口号
2014/06/06 职场文书
2014年社区妇联工作总结
2014/12/02 职场文书
工程部经理岗位职责
2015/02/02 职场文书
2015年迎新晚会策划书
2015/07/16 职场文书
好人好事新闻稿
2015/07/17 职场文书
python 逐步回归算法
2021/04/06 Python
Python实战之疫苗研发情况可视化
2021/05/18 Python
pytorch通过训练结果的复现设置随机种子
2021/06/01 Python