$modal只有一个方法:open,该方法的属性有:

  • 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),这些方法很容易关闭窗口并且不需要额外的控制器

  1. <!DOCTYPE html>
  2. <html ng-app="ModalDemo">
  3. <head>
  4. <title></title>
  5. <link href="lib/bootstrap/css/bootstrap.min.css" rel="stylesheet">
  6. <script src="lib/angular/angular.min.js"></script>
  7. <script src="lib/bootstrap-gh-pages/ui-bootstrap-tpls-0.7.0.min.js"></script>
  8. <script src="lib/angular/i18n/angular-locale_zh-cn.js"></script>
  9. </head>
  10. <body>
  11. <div ng-controller="ModalDemoCtrl">
  12. <script type="text/ng-template" id="myModalContent.html" />
  13. <div class="modal-header">
  14. <h3>I'm a modal!</h3>
  15. </div>
  16. <div class="modal-body">
  17. <ul>
  18. <li ng-repeat="item in items"><a
  19. ng-click="selected.item = item">{{ item }}</a></li>
  20. </ul>
  21. Selected: <b>{{ selected.item }}</b>
  22. </div>
  23. <div class="modal-footer">
  24. <button class="btn btn-primary" ng-click="ok()">OK</button>
  25. <button class="btn btn-warning" ng-click="cancel()">Cancel</button>
  26. </div>
  27. </script>
  28. <button class="btn" ng-click="open()">Open me!</button>
  29. </div>
  30. <script>
  31. var ModalDemo = angular.module('ModalDemo', [ 'ui.bootstrap' ]);
  32. var ModalDemoCtrl = function($scope, $modal, $log) {
  33. $scope.items = [ 'item1', 'item2', 'item3' ];
  34. $scope.open = function() {
  35. var modalInstance = $modal.open({
  36. templateUrl : 'myModalContent.html',
  37. controller : ModalInstanceCtrl,
  38. resolve : {
  39. items : function() {
  40. return $scope.items;
  41. }
  42. }
  43. });
  44. modalInstance.opened.then(function() {// 模态窗口打开之后执行的函数
  45. console.log('modal is opened');
  46. });
  47. modalInstance.result.then(function(result) {
  48. console.log(result);
  49. }, function(reason) {
  50. console.log(reason);// 点击空白区域,总会输出backdrop
  51. // click,点击取消,则会暑促cancel
  52. $log.info('Modal dismissed at: ' + new Date());
  53. });
  54. };
  55. };
  56. var ModalInstanceCtrl = function($scope, $modalInstance, items) {
  57. $scope.items = items;
  58. $scope.selected = {
  59. item : $scope.items[0]
  60. };
  61. $scope.ok = function() {
  62. $modalInstance.close($scope.selected);
  63. };
  64. $scope.cancel = function() {
  65. $modalInstance.dismiss('cancel');
  66. };
  67. };
  68. </script>
  69. </body>
  70. </html>

留存- angularjs 弹出框 $modal的更多相关文章

  1. angularjs 弹出框 $modal

    angularjs 弹出框 $modal 标签: angularjs 2015-11-04 09:50 8664人阅读 评论(1) 收藏 举报  分类: Angularjs(3)  $modal只有一 ...

  2. angularjs 弹出框 $modal 参数(转)

    angularjs 弹出框 $modal   $modal只有一个方法:open,该方法的属性有: templateUrl:模态窗口的地址 template:用于显示html标签 scope:一个作用 ...

  3. jquery dialog-优雅的弹出框

    前面一章已经对datepicker的使用,做了简单的说明.这一章主要对dialog如何使用做个说明.         jquery ui-dialog在web开发中运用还是比较多的.最常见的例子就是登 ...

  4. element-ul 处理 组件内的弹出框close问题

    <el-dialog custom-class="rental-pop" :close-on-click-modal="false" :append-to ...

  5. bootstrap的编辑标记 angularjs input 弹出框

    .html <div> {{instance.description}} <span class="glyphicon glyphicon-pencil btn-link& ...

  6. Bootstrap使用模态框modal实现表单提交弹出框

    Bootstrap 模态框(Modal)插件 模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等.如果 ...

  7. [Bootstrap]modal弹出框

    写在前面 在实际开发中,为了友好,更需要一种美观的弹出框,js原生的alert,很难满足需求.这里推荐一个bootstrap的弹出框. 一个例子 先看效果吧 代码: <!DOCTYPE html ...

  8. js自定义弹出框

    js自定义弹出框: 代码如下 <html> <head><title>自定义弹出对话框</title> <style type ="te ...

  9. Bootstrap弹出框(modal)垂直居中

    最近在做一个eit项目,由于此项目里面一些框架要遵循nttdata的一些规则,故用到了Bootstrap这个东东,第一次碰到这个东东,有很大抵触,觉得不好,但用起来我觉得和别的弹出框真没什么两样.废话 ...

随机推荐

  1. redis使用入门

    redis使用 1. redis安装 sudo apt-get install redis-server 2. redis使用(以localhost为例) redis启动 redis-cli -h h ...

  2. BZOJ1857 Scoi2010 传送带 【三分】

    BZOJ1857 Scoi2010 传送带 Description 在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送带分别为线段AB和线段CD.lxhgww在AB上的移动速度为P ...

  3. jdbcTemplate的一些常用方法

    前言 最近的项目中由于只进行查询,所以使用了jdbcTemplate来直接操作sql进行持久层的操作,初次接触jdbcTemplate,从最开始的什么都不知道到现在基本方法都大致知道什么意思,特此记录 ...

  4. ASP.NET中几种加密方法

    下面就是ASP.NET中几种加密方法.加密算法有两种,也就是上面提到的MD5和SHA1,这里我举的例子是以MD5为例,SHA1大致相同,只是使用的类不一样. MD5的全称是Message-Digest ...

  5. python(十三):网络编程之socket与socketserver

    socket是操作系统中I/O系统延伸部分,支持TCP和UDP等网络通信协议,它使计算机之间(或其本身)的进程通信称为可能.socket中的socket()函数.recv()函数和send()函数,相 ...

  6. Flask第三篇——安装Flask

    现在我们来安装Flask: Windows系统安装Flask 如果你的系统是Windows,那安装起来非常方便——pip install flask Mac系统安装Flask Mac安装Flask一般 ...

  7. 《selenium2 python 自动化测试实战》(4)——鼠标事件

    鼠标事件包含在ActionChains类中,导入时只需要: from selenium.webdriver.common.action_chains import ActionChains 导入类即可 ...

  8. Kafka之sync、async以及oneway

    kafka有同步(sync).异步(async)以及oneway这三种发送方式,某些概念上区分也可以分为同步和异步两种,同步和异步的发送方式通过“producer.type”参数指定,而oneway由 ...

  9. RK3288 HDMI配置和调试

    RK3288 最大输出分辨率为 3840x2160 HDMI 驱动代码位于 kernel/drivers/video/rockchip/hdmi/rockchip-hdmiv2 目录 1.设置默认输出 ...

  10. jQuery实现清空table表格除首行外的所有数据

    1.其实网上有很多版本,试了好几个都不行,最后还是查到了一个非常方便的:不会清除表格第一行表头部分. 其中J_tab_fam是table的id. ? 1 $("#J_tab_fam  tr: ...