index.html 5.42 KB
<!DOCTYPE html>
<html ng-app="myApp">
<head lang="en" >
    <meta charset="UTF-8">
    <title>xn-directive-dialog提示</title>
    <link href="../spm_modules/bootstrap-css/1.0.2/bootstrap.css" rel="stylesheet">
    <link href="../demo/base.css" rel="stylesheet">
    <link href="../directive/style.css" rel="stylesheet">

    <script type="text/javascript" src="../spm_modules/jquery/1.7.2/jquery.js"></script>
    <script type="text/javascript" src="../spm_modules/angular/1.3.9/angular.js"></script>
    <script type="text/javascript" src="../spm_modules/angular-ui/1.0.0/bootstraptpls.js"></script>
    <script type="text/javascript" src="../directive/directives.js"></script>

</head>

<body >
<h3>弹出框编辑</h3>

<div ng-controller="ModalDemoCtrl">
    <script type="text/ng-template" id="myModalContent.html">
        <div class="modal-header">
            <h3 class="modal-title">I'm a modal!</h3>
        </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 btn-default" ng-click="open()">Open me!</button>
    <button class="btn btn-default" ng-click="open('lg')">Large modal</button>
    <button class="btn btn-default" ng-click="open('sm')">Small modal</button>
    <div ng-show="selected">Selection from a modal: {{ selected }}</div>
</div>

<h3>使用说明</h3>
<pre>
    $modal is a service to quickly create AngularJS-powered modal windows. Creating custom modals is straightforward: create a partial view, its controller and reference them when using the service.

    The $modal service has only one method: open(options) where available options are like follows:

    templateUrl - a path to a template representing modal's content
    template - inline template representing the modal's content
    scope - a scope instance to be used for the modal's content (actually the $modal service is going to create a child scope of a provided scope). Defaults to $rootScope
    controller - a controller for a modal instance - it can initialize scope used by modal. Accepts the "controller-as" syntax in the form 'SomeCtrl as myctrl'; can be injected with $modalInstance
    controllerAs - an alternative to the controller-as syntax, matching the API of directive definitions. Requires the controller option to be provided as well
    resolve - members that will be resolved and passed to the controller as locals; it is equivalent of the resolve property for AngularJS routes
    backdrop - controls presence of a backdrop. Allowed values: true (default), false (no backdrop), 'static' - backdrop is present but modal window is not closed when clicking outside of the modal window.
    keyboard - indicates whether the dialog should be closable by hitting the ESC key, defaults to true
    backdropClass - additional CSS class(es) to be added to a modal backdrop template
    windowClass - additional CSS class(es) to be added to a modal window template
    windowTemplateUrl - a path to a template overriding modal's window template
    size - optional size of modal window. Allowed values: 'sm' (small) or 'lg' (large). Requires Bootstrap 3.1.0 or later
    The open method returns a modal instance, an object with the following properties:

    close(result) - a method that can be used to close a modal, passing a result
    dismiss(reason) - a method that can be used to dismiss a modal, passing a reason
    result - a promise that is resolved when a modal is closed and rejected when a modal is dismissed
    opened - a promise that is resolved when a modal gets opened after downloading content's template and resolving all variables
    In addition the scope associated with modal's content is augmented with 2 methods:

    $close(result)
    $dismiss(reason)
    Those methods make it easy to close a modal window without a need to create a dedicated controller.
</pre>




<script type="text/javascript">

    angular.module('myApp',["ui.bootstrap"]).controller('ModalDemoCtrl', function ($scope, $modal, $log) {

        $scope.items = ['item1', 'item2', 'item3'];

        $scope.open = function (size) {

            var modalInstance = $modal.open({
                templateUrl: 'myModalContent.html',
                controller: 'ModalInstanceCtrl',
                size: size,
                resolve: {
                    items: function () {
                        return $scope.items;
                    }
                }
            });
            modalInstance.result.then(function (selectedItem) {
                $scope.selected = selectedItem;
            }, function () {
                $log.info('Modal dismissed at: ' + new Date());
            });
        };
    })

    .controller('ModalInstanceCtrl', ["$scope", "$modalInstance", "items",function ($scope, $modalInstance, items) {

        $scope.items = items;
        $scope.selected = {
            item: $scope.items[0]
        };

        $scope.ok = function () {
            $modalInstance.close($scope.selected.item);
        };

        $scope.cancel = function () {
            $modalInstance.dismiss('cancel');
        };
    }]);



</script>
</body>
</html>