Home > Web Front-end > JS Tutorial > AngularJs pop-up modal box (model)_AngularJS

AngularJs pop-up modal box (model)_AngularJS

WBOY
Release: 2016-05-16 15:06:10
Original
1683 people have browsed it

Recommended reading: Detailed explanation of AngularJS modal dialog box

$modal is a service that can quickly create modal windows, create partial pages, controllers, and associate them.

$modal has only one method open(options)

templateUrl: the address of the modal window

template: used to display html tags

scope: Used by content whose scope is modal (in fact, $modal will create a child scope of the current scope). Defaults to $rootScope

controller: The controller specified for $modal, initializes $scope, and the controller can be injected with $modalInstance

resolve: Define a member and pass it to the controller specified by $modal, which is equivalent to a reslove attribute of routes. If you need to pass an objec object, you need to use angular.copy()

Backdrop: Control the background, allowed values: true (default), false (no background), "static" - the background exists, but when clicking outside the modal window, the modal window does not close

keyboard: Whether the modal dialog box is closed when Esc is pressed. The default is true

windowClass: Specify a class and add it to the modal window

The open method returns a modal instance, which has the following properties

close(result): Close the modal window and pass a result

dismiss(reason): Dismiss the modal method and pass a reason

result: a contract passed when the modal window is closed or dismissed

opened: a contract, a variable passed when the modal window is opened and the content is loaded

In addition, $modalInstance extends two methods $close(result) and $dismiss(reason). These methods are easy to close the window and do not require additional controllers

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> 
Copy after login

The above is the relevant content of the AngularJs pop-up modal box (model) introduced by the editor to you. I hope it will be helpful to everyone!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template