`
cooperay
  • 浏览: 215999 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

AngularJs 弹出模态窗口 $modal $uibModal

 
阅读更多

使用angularJs 的指令库 ui-bootstrap 弹出模态窗口:

导入ui-bootstrap-tpls.js 这个是ui-bootstrap的库,版本 1.1.0 (老版本的注入对象$modal)

注入服务:'$uibModal',和$$uibModalInstance 

打开窗口:

 

$angular.module("app",['ui.bootstarp','mlm/erp/modal/choose-department.html']).controller(function(){	
var openChooseDepModal=function(confim,canel){
		var modalInstance = $uibModal.open({  
         	 //backdrop:false,
		   	 size:'sm',
         	 animation:true,
             templateUrl: 'mlm/erp/modal/choose-department.html', 
           	 controller:'chooseDeptController',
		     resolve: {  
                      nodes:function(){
                    	  return $scope.nodes;
                      }
             }
         });  
	/* modalInstance.opened.then(function(){//模态窗口打开之后执行的函数  
              console.log('modal is opened');  
          });  */
		 
          modalInstance.result.then(function (result) {  
             console.log(result); //result关闭是回传的值 
          }, function (reason) {  
              console.log(reason);//点击空白区域,总会输出backdrop click,点击取消,则会暑促cancel  
              
          });
		
	}

  

 缓存模板文件:

angular.module("mlm/erp/modal/choose-department.html", []).run(["$templateCache", function($templateCache) {
	  $templateCache.put("mlm/erp/modal/choose-department.html",
			  "<div class=\"modal-header\">"+  
			      "<h3 class=\"wall\">选择部门</h3>"+  
			  "</div>"+  
			  "<div class=\"modal-body\">" + 
				  	"<div treecontrol class=\"tree-classic well\" tree-model=\"nodes\""+
						"options=\"treeOptions\" on-selection=\"selectNode(node,selected)\""+
						"selected-node=\"selectedNode\">"+
						"{{node.text}}({{node.id}})</div>"+
				   "</div>"+  
			  "<div class=\"modal-footer\">"+  
			      "<button class=\"btn btn-danger\" ng-click=\"ok()\">确认</button>"+  
			      "<button class=\"btn btn-default\" ng-click=\"cancel()\">取消</button>"+  
			  "</div>");
	}]);

  chooseDeptController:

angular("app").controller("chooseDeptController",['$scope','$uibModal','$uibModalInstance','service.login-set',function($scope,$uibModal,$uibModalInstance,service){
	
	$scope.loadNodes = function() {
		service.getAll().success(function(data,status){
			service.popSuccess("加载部门树成功");
			$scope.nodes =  data;
			
			$scope.selectedNode = $scope.nodes[0];
			$scope.currentNode = $scope.selectedNode;
		}).error(function(data,status){
			service.popError("加载部门树失败");
		});
	}
	$scope.loadNodes();
	
	$scope.selectNode = function(node,selected) {
		if(selected){
			$scope.currentNode = node;
		}else{
			$scope.currentNode = null;
		}
	};
	
	
	 $scope.ok = function () {  
         $uibModalInstance.close($scope.currentNode);
         
     };  
     $scope.cancel = function () {  
         $uibModalInstance.dismiss('cancel');
         
     };  
	
}]);

 

需要和模态窗口进行数据交互是,需要为他指定独立的controller(另外的方法是直接在打开窗口的controller属性中指定controller:function (){})。 模态窗口中使用的数据是指定的controller(这里是cooseDeptController)scope中的数据。

 

 

 

分享到:
评论

相关推荐

    angularJS 模态窗口$modal的使用实例

    在AngularJS中,$modal服务是一个非常有用的组件,它允许我们创建模态窗口来显示额外的信息、进行用户交互或执行一些操作。模态窗口在Web应用程序中广泛应用,为用户提供了一种非侵入式的交互方式,不会中断当前的...

    AngularJs 弹出模态框(model)

    $modal是一个可以迅速创建模态窗口的服务,创建部分页,控制器,并关联他们。 $modal仅有一个方法open(options) templateUrl:模态窗口的地址 template:用于显示html标签 scope:一个作用域为模态的内容使用...

    angularJS模态框$modal实例代码

    windowClass: '' // 自定义模态窗口类 }); modalInstance.result.then(function(selectedItem) { // 模态框关闭后的回调,selectedItem是返回值 }); }; ``` 3. 创建模态框控制器 与模态框关联的控制器通常会...

    AngularJS $modal弹出框实例代码

    $modal是AngularJS中用于创建弹出窗口(模态框)的一个服务。在AngularJS中,模态框是一种常见的用户交互方式,用于在用户界面上显示额外的信息,而不会干扰用户浏览其他页面内容。 在AngularJS中使用$modal服务,...

    分页后弹出模态窗口刷新父窗口

    根据给定文件的信息,本文将围绕“分页后弹出模态窗口刷新父窗口”的主题进行深入探讨。此话题主要涉及前端开发中的交互设计、页面更新机制以及如何在不同的页面间进行数据同步等内容。 ### 一、理解分页与模态窗口...

    漂亮的Jquery弹出模态窗口提示框

    "漂亮的Jquery弹出模态窗口提示框"是一个基于jQuery的插件,用于创建美观、功能丰富的模态对话框,常用于显示警告、确认或信息提示。 模态窗口(Modal Window)是一种阻止用户与页面其余部分交互,直到关闭该窗口...

    JS点击弹出模态窗口下拉列表代码.zip

    总的来说,"JS点击弹出模态窗口下拉列表代码"是一个实用的前端组件示例,它结合了JS的动态性、模态窗口的交互性和搜索过滤的便利性,对于学习和提升JavaScript编程技巧,尤其是前端UI交互设计,是非常有价值的实践...

    easyui 模态窗口插件

    在 EasyUI 中,模态窗口(Modal Window)是一种常用的功能,用于展示弹出式对话框,通常用于输入数据、确认操作或者显示详细信息。在本篇文章中,我们将深入探讨 EasyUI 的模态窗口插件,包括其基本使用方法、配置...

    Jquery实现模态窗口效果

    模态窗口通常用于弹出对话框、确认操作或显示额外信息。它阻止用户与页面其余部分交互,直到用户关闭该窗口为止。在HTML中,我们可以使用`&lt;div&gt;`元素创建一个模态框,并通过CSS进行样式设计,使其看起来像一个独立的...

    BootStrap中的模态框(modal,弹出层)功能示例代码

    模态框提供了丰富的交互性和自定义选项,使得开发者能够轻松创建各种类型的弹出窗口,如信息提示、表单填写、确认操作等。 Bootstrap模态框的基本结构包括以下几个部分: 1. 触发按钮:通常是一个带`data-toggle=...

    ModalLayer模态框插件js弹出框

    **ModalLayer模态框插件js弹出框详解** 在网页设计和开发中,模态框(Modal Layer)是一种常用的设计元素,它用于在当前页面上弹出一个半透明的覆盖层,显示额外的信息或者进行交互操作,而不会中断用户与主页面的...

    带多种CSS3过渡动画的jquery模态窗口插件modal.js.zip

    3. **模态窗口**:模态窗口是一种覆盖在页面上的弹出框,用户必须与其交互后才能继续使用主页面。modal.js插件实现了这一功能,可以自定义窗口大小、位置、内容和样式,并且通过设置不同的CSS3过渡效果,赋予其独特...

    License模态窗口(Modal Window),在图形用户界面设计中,是一种特殊类型的窗口,它要求用户与窗口进行交互,而在此

    模态窗口(Modal Window),在图形用户界面设计中,是一种特殊类型的窗口,它要求用户与窗口进行交互,而在此过程中,用户无法与父窗口进行交互。这种设计不仅仅是技术上的限制,而是反映了人类的注意力模式。如心理...

    css3和js点击按钮弹出模态窗口动画效果

    首先,模态窗口(Modal Window)是一种非侵入性的对话框,它在用户当前浏览的页面上覆盖一个半透明的黑色背景,焦点集中在弹出的窗口上。CSS3在这里主要负责模态窗口的样式,包括形状、颜色、过渡动画和阴影效果。...

    JQuery实现可移动模态窗口

    一个基本的模态窗口可能包括一个遮罩层和一个包含内容的弹出框。例如: ```html &lt;div id="modal-overlay"&gt; &lt;div id="modal"&gt; 模态窗口标题 这里可以放置模态窗口的内容 &lt;button id="close-modal"&gt;关闭 ```...

    AngularJS中使用ngModal模态框实例.docx

    模态框是一种常用的交互方式,能够在用户界面中弹出一个浮动窗口,以便用户进行输入、选择或确认操作。ngModal 模块提供了一个简单的方式来创建和管理模态框。 二、使用模态框的步骤 要在 AngularJS 中使用模态框...

Global site tag (gtag.js) - Google Analytics