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 相关文章推荐
短信提示使用 特效
Jan 19 Javascript
基于jQuery的Tab选项框效果代码(插件)
Mar 01 Javascript
Jquery实现自定义窗口随意的拖拽
Mar 12 Javascript
jQuery实现仿百度首页滑动伸缩展开的添加服务效果代码
Sep 09 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
Apr 15 Javascript
轻松掌握jQuery中wrap()与unwrap()函数的用法
May 24 Javascript
EditPlus中的正则表达式 实战(2)
Dec 15 Javascript
Node.js使用NodeMailer发送邮件实例代码
Mar 06 Javascript
微信小程序实现弹出菜单功能
Jun 12 Javascript
解决vue热替换失效的根本原因
Sep 19 Javascript
Vue开发Html5微信公众号的步骤
Apr 11 Javascript
ES6中的Javascript解构的实现
Oct 30 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计算两个整数的最大公约数常用算法小结
2015/03/05 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
2013/01/29 Javascript
IE6已终止操作问题的2种情况及解决
2014/04/23 Javascript
javascript实现客户端兼容各浏览器创建csv并下载的方法
2015/03/23 Javascript
js实现按钮颜色渐变动画效果
2015/08/20 Javascript
使用堆实现Top K算法(JS实现)
2015/12/25 Javascript
yarn与npm的命令行小结
2016/10/20 Javascript
Bootstrap和Java分页实例第二篇
2016/12/23 Javascript
jQuery EasyUi 验证功能实例解析
2017/01/06 Javascript
javascript实现多张图片左右无缝滚动效果
2017/03/22 Javascript
基于Node的React图片上传组件实现实例代码
2017/05/10 Javascript
JS在Array数组中按指定位置删除或添加元素对象方法示例
2019/11/19 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
2019/12/11 Javascript
JavaScript随机数的组合问题案例分析
2020/05/16 Javascript
Vue页面跳转传递参数及接收方式
2020/09/09 Javascript
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
在Django中进行用户注册和邮箱验证的方法
2016/05/09 Python
python+POP3实现批量下载邮件附件
2018/06/19 Python
python得到qq句柄,并显示在前台的方法
2018/10/14 Python
pandas求两个表格不相交的集合方法
2018/12/08 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
2019/04/16 Python
Python列表与元组的异同详解
2019/07/02 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
2019/07/04 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
浅谈Django中的QueryDict元素为数组的坑
2020/03/31 Python
HTML5的结构和语义(2):结构
2008/10/17 HTML / CSS
美国诺德斯特龙百货官网:Nordstrom
2016/08/23 全球购物
Javascript如何发送一个Ajax请求
2015/01/26 面试题
实习自荐信
2013/10/13 职场文书
个人承诺书
2014/03/26 职场文书
群众路线剖析材料
2014/09/30 职场文书
学校运动会广播稿
2014/10/11 职场文书
python 制作一个gui界面的翻译工具
2021/05/14 Python
详解JAVA的控制语句
2021/11/11 Java/Android
Vue2.0搭建脚手架
2022/03/13 Vue.js