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 相关文章推荐
根据分辩率调用不同的CSS.
Jan 08 Javascript
js parentElement和offsetParent之间的区别
Mar 23 Javascript
js中单引号与双引号冲突问题解决方法
Oct 04 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
Apr 21 Javascript
实例详解angularjs和ajax的结合使用
Oct 22 Javascript
jQuery实现日期联动效果实例
Jul 26 Javascript
Bootstrap BootstrapDialog使用详解
Feb 17 Javascript
Vue组件通信的几种实现方法
Apr 25 Javascript
微信小程序 组件的外部样式externalClasses使用详解
Sep 06 Javascript
微信小程序 wx.getUserInfo引导用户授权问题实例分析
Mar 09 Javascript
Element-ui Layout布局(Row和Col组件)的实现
Dec 06 Vue.js
TS 类型兼容教程示例详解
Sep 23 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 备份数据库代码(生成word,excel,json,xml,sql)
2013/06/23 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
2018/04/20 PHP
php 后端实现JWT认证方法示例
2018/09/04 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
extJs 常用到的增,删,改,查操作代码
2009/12/28 Javascript
NodeJs基本语法和类型
2015/02/13 NodeJs
JavaScript实现Iterator模式实例分析
2015/06/09 Javascript
js微信分享API
2020/10/11 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
jquery心形点赞关注效果的简单实现
2016/11/14 Javascript
BootStrap 动态表单效果
2017/06/02 Javascript
JavaScript实现跟随滚动缓冲运动广告框
2017/07/15 Javascript
基于vue-ssr服务端渲染入门详解
2018/01/08 Javascript
微信小程序中进行地图导航功能的实现方法
2018/06/29 Javascript
深入理解Vue 组件之间传值
2018/08/16 Javascript
Vue项目部署的实现(阿里云+Nginx代理+PM2)
2019/03/26 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
Vue实现背景更换颜色操作
2020/07/17 Javascript
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
使用C++扩展Python的功能详解
2018/01/12 Python
python numpy 按行归一化的实例
2019/01/21 Python
python中matplotlib条件背景颜色的实现
2019/09/02 Python
Python assert关键字原理及实例解析
2019/12/13 Python
Python 动态变量名定义与调用方法
2020/02/09 Python
html5 canvas 简单画板实现代码
2012/01/05 HTML / CSS
突袭HTML5之Javascript API扩展5—其他扩展(应用缓存/服务端消息/桌面通知)
2013/01/31 HTML / CSS
越南电子产品购物网站:FPT Shop
2017/12/02 全球购物
node中使用shell脚本的方法步骤
2021/03/23 Javascript
自动化专业个人求职信范文
2013/11/29 职场文书
餐厅采购员岗位职责
2014/03/06 职场文书
北京奥运会口号
2014/06/21 职场文书
投标人法定代表人授权委托书格式
2014/09/28 职场文书
自查自纠工作总结
2014/10/15 职场文书
2016道德模范先进事迹材料
2016/02/26 职场文书
聊聊golang中多个defer的执行顺序
2021/05/08 Golang
POST提交数据常见的四种方式
2022/01/18 HTML / CSS