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 相关文章推荐
优化JavaScript脚本的性能的几个注意事项
Dec 22 Javascript
JavaScript 大数据相加的问题
Aug 03 Javascript
js实现交换运动效果的方法
Apr 10 Javascript
深入理解JavaScript的React框架的原理
Jul 02 Javascript
基于jquery实现日历签到功能
Sep 11 Javascript
AngularJS基础 ng-focus 指令简单示例
Aug 01 Javascript
实例解析jQuery中如何取消后续执行内容
Dec 01 Javascript
JavaScript 中的 this 简单规则
Sep 19 Javascript
jquery实现左右轮播图效果
Sep 28 jQuery
ionic2中使用自动生成器的方法
Mar 04 Javascript
node app 打包工具pkg的具体使用
Jan 17 Javascript
Vue分页插件的前后端配置与使用
Oct 09 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可变函数的经典用法
2013/06/20 PHP
Laravel 前端资源配置教程
2019/10/18 PHP
jquery 页面全选框实践代码
2010/04/02 Javascript
基于JQuery实现的图片自动进行缩放和裁剪处理
2014/01/31 Javascript
jquery操作 iframe的方法
2014/12/03 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
2016/09/20 Javascript
JavaScript中校验银行卡号的实现代码
2016/12/19 Javascript
Angular将填入表单的数据渲染到表格的方法
2017/09/22 Javascript
Angular.js通过自定义指令directive实现滑块滑动效果
2017/10/13 Javascript
深入理解js A*寻路算法原理与具体实现过程
2018/12/13 Javascript
Vue-input框checkbox强制刷新问题
2019/04/18 Javascript
vue cli3.0 引入eslint 结合vscode使用
2019/05/27 Javascript
微信小程序实现滑动操作代码
2020/04/23 Javascript
vue的hash值原理也是table切换实例代码
2020/12/14 Vue.js
[01:14:55]EG vs Spirit Supermajor 败者组 BO3 第三场 6.4
2018/06/05 DOTA
Python实现3行代码解简单的一元一次方程
2014/08/18 Python
python使用Queue在多个子进程间交换数据的方法
2015/04/18 Python
python字符类型的一些方法小结
2016/05/16 Python
python判断字符串编码的简单实现方法(使用chardet)
2016/07/01 Python
python模块smtplib学习
2018/05/22 Python
Python之循环结构
2019/01/15 Python
ORM Django 终端打印 SQL 语句实现解析
2019/08/09 Python
使用pyinstaller逆向.pyc文件
2019/12/20 Python
在Python中利用pickle保存变量的实例
2019/12/30 Python
python 已知三条边求三角形的角度案例
2020/04/12 Python
Django QuerySet查询集原理及代码实例
2020/06/13 Python
意大利火车票和铁路通行证专家:ItaliaRail
2019/01/22 全球购物
PHP如何防止SQL注入
2014/05/03 面试题
魅力教师事迹材料
2014/01/10 职场文书
学习十八大坚定理想信念心得体会
2014/03/11 职场文书
党组织领导班子整改方案
2014/10/25 职场文书
2014年大学生村官工作总结
2014/11/19 职场文书
幼儿教师2014年度工作总结
2014/12/16 职场文书
反腐倡廉主题教育活动总结
2015/05/07 职场文书
matplotlib之pyplot模块实现添加子图subplot的使用
2021/04/25 Python
Python入门之基础语法详解
2021/05/11 Python