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 相关文章推荐
extjs 学习笔记 四 带分页的grid
Oct 20 Javascript
js 获取服务器控件值的代码
Mar 05 Javascript
javascript中typeof的使用示例
Dec 19 Javascript
JavaScript中的console.profile()函数详细介绍
Dec 29 Javascript
js控制多图左右滚动切换效果代码分享
Aug 26 Javascript
Angular.js 实现数字转换汉字实例代码
Jul 14 Javascript
EasyUI创建对话框的两种方式
Aug 23 Javascript
Angular.js中控制器之间的传值详解
Apr 24 Javascript
jQuery+Ajax实现用户名重名实时检测
Jun 01 jQuery
jQuery实现滚动到底部时自动加载更多的方法示例
Feb 18 jQuery
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
Apr 30 Javascript
详解element上传组件before-remove钩子问题解决
Apr 08 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 编程安全性小结
2010/01/08 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
2015/07/01 PHP
PHP结合Vue实现滚动底部加载效果
2017/12/17 PHP
详解PHP变量传值赋值和引用赋值变量销毁
2019/03/23 PHP
$.extend 的一个小问题
2015/06/18 Javascript
javascript随机显示背景图片的方法
2015/06/18 Javascript
以Python代码实例展示kNN算法的实际运用
2015/10/26 Javascript
js实现索引图片切换效果
2015/11/21 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
2016/12/13 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
2016/12/21 Javascript
jQuery接受后台传递的List的实例详解
2017/08/02 jQuery
Node.js学习之TCP/IP数据通讯(实例讲解)
2017/10/11 Javascript
一文了解Vue中的nextTick
2019/05/06 Javascript
Vue动态创建注册component的实例代码
2019/06/14 Javascript
Ant Design moment对象和字符串之间的相互转化教程
2020/10/27 Javascript
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
2014/07/18 Python
Python爬取读者并制作成PDF
2015/03/10 Python
使用Python求解最大公约数的实现方法
2015/08/20 Python
python针对excel的操作技巧
2018/03/13 Python
python多进程提取处理大量文本的关键词方法
2018/06/05 Python
python网络编程之多线程同时接受和发送
2019/09/03 Python
解决python gdal投影坐标系转换的问题
2020/01/17 Python
Python使用docx模块实现刷题功能代码
2020/02/13 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
Python pexpect模块及shell脚本except原理解析
2020/08/03 Python
Python提取视频中图片的示例(按帧、按秒)
2020/10/22 Python
Django搭建项目实战与避坑细节详解
2020/12/06 Python
Python  Asyncio模块实现的生产消费者模型的方法
2021/03/01 Python
CSS3 box-sizing属性详解
2016/11/15 HTML / CSS
HTML5实现分享到微信好友朋友圈QQ好友QQ空间微博二维码功能
2018/01/03 HTML / CSS
英国知名小木屋定制网站:Tiger Sheds
2020/03/06 全球购物
村优秀党员事迹材料
2014/01/15 职场文书
作文评语大全
2014/04/23 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
副校长2015年教育教学工作总结
2015/07/27 职场文书