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 全选效果实现代码
Mar 23 Javascript
javascript RadioButtonList获取选中值
Apr 09 Javascript
js浮动图片的动态效果
Jul 10 Javascript
使用JQUERY进行后台页面布局控制DIV实现左右式
Jan 07 Javascript
理解javascript中的严格模式
Feb 01 Javascript
bootstrap为水平排列的表单和内联表单设置可选的图标
Feb 15 Javascript
JavaScript基本类型值-Number类型
Feb 24 Javascript
详解vue的数据binding绑定原理
Apr 12 Javascript
AngularJS实现动态添加Option的方法
May 17 Javascript
详解mpvue开发小程序小总结
Jul 25 Javascript
关于JavaScript中高阶函数的魅力详解
Sep 07 Javascript
改变layer confirm弹窗按钮的颜色方法
Sep 12 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自定义函数返回多个值
2006/11/26 PHP
PHP simple_html_dom.php+正则 采集文章代码
2009/12/24 PHP
PHP中实现中文字符进制转换原理分析
2011/12/06 PHP
PHP实现文字写入图片功能
2019/02/18 PHP
php+iframe 实现上传文件功能示例
2020/03/04 PHP
Hutia 的 JS 代码集
2006/10/24 Javascript
dropdownlist之间的互相联动实现(显示与隐藏)
2009/11/24 Javascript
离开页面时检测表单元素是否被修改,提示保存的js代码
2010/08/25 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
2013/11/25 Javascript
浅析js中的浮点型运算问题
2014/01/06 Javascript
详解JavaScript ES6中的模板字符串
2015/07/28 Javascript
浅谈javascript中执行环境(作用域)与作用域链
2016/12/08 Javascript
关于Javascript中document.cookie的使用
2017/03/08 Javascript
自定义vue全局组件use使用、vuex的使用详解
2017/06/14 Javascript
animate.css在vue项目中的使用教程
2018/08/05 Javascript
vue+element-ui实现表格编辑的三种实现方式
2018/10/31 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
JavaScript接口实现方法实例分析
2020/05/16 Javascript
vue+element_ui上传文件,并传递额外参数操作
2020/12/05 Vue.js
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
python备份文件以及mysql数据库的脚本代码
2013/06/10 Python
Python中max函数用法实例分析
2015/07/17 Python
pandas DataFrame 交集并集补集的实现
2019/06/24 Python
python中使用np.delete()的实例方法
2021/02/01 Python
Currentbody美国/加拿大:美容仪专家
2020/03/09 全球购物
Can a struct inherit from another struct? (结构体能继承结构体吗)
2016/09/25 面试题
货代行业个人求职简历的自我评价
2013/10/22 职场文书
优秀教师的感人事迹
2014/02/04 职场文书
七匹狼男装广告词
2014/03/21 职场文书
行政秘书工作自我鉴定
2014/09/15 职场文书
2014教师专业技术工作总结
2014/12/03 职场文书
2015年毕业生个人自荐书
2015/03/24 职场文书
2015年技术工作总结范文
2015/04/20 职场文书
给领导敬酒词
2015/08/12 职场文书
Redis 配置文件重要属性的具体使用
2021/05/20 Redis
Zabbix6通过ODBC方式监控Oracle 19C的详细过程
2022/09/23 Servers