当前位置: 首页 > news >正文

留存- angularjs 弹出框 $modal

 

$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>  

转载于:https://www.cnblogs.com/tongbiao/p/6909587.html

相关文章:

  • 矩阵相乘,向量相乘,矩阵向量相乘
  • Spring中基于Java的配置@Configuration和@Bean用法
  • 阿里技术面试题全面覆盖?不服,你来补充
  • Atitit mysql 存储过程捕获所有异常,以及日志记录异常信息
  • Android新手引导View
  • [Fri 26 Jun 2015 ~ Thu 2 Jul 2015] Deep Learning in arxiv
  • 删除表A的记录时,Oracle 报错:“ORA-02292:违反完整约束条件(XXX.FKXXX)- 已找到子记录...
  • Redis部署及参数笔记
  • 关于二叉树的遍历梳理(递归、非递归、线索二叉树)
  • JSONObject和JSONArray区别及基本用法
  • Idea中使用git
  • 怎么爆加密过后的前端JS
  • 201521123016《Java程序设计》第14周学习总结
  • datenode节点超时时间设置,Hadoop启动不正常,HDFS冗余数据块的自动删除,NameNode安全模式问题,ntp时间服务同步,机架感知配置...
  • 航天科工发布中国首个工业互联网云平台
  • 〔开发系列〕一次关于小程序开发的深度总结
  • C++入门教程(10):for 语句
  • Git的一些常用操作
  • Java 内存分配及垃圾回收机制初探
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • Mysql优化
  • SpingCloudBus整合RabbitMQ
  • yii2权限控制rbac之rule详细讲解
  • yii2中session跨域名的问题
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 微信公众号开发小记——5.python微信红包
  • 小程序开发之路(一)
  • 一个JAVA程序员成长之路分享
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​批处理文件中的errorlevel用法
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • (12)Hive调优——count distinct去重优化
  • (C++)八皇后问题
  • (Forward) Music Player: From UI Proposal to Code
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (Note)C++中的继承方式
  • (ros//EnvironmentVariables)ros环境变量
  • (二)springcloud实战之config配置中心
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (新)网络工程师考点串讲与真题详解
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • .Net 垃圾回收机制原理(二)