Angularjs全局Modal

来源:互联网 发布:access 多少条数据 编辑:程序博客网 时间:2024/06/05 00:21
<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="bootstrap.min.css">
    <script src="jquery.min.js"></script>
    <script src="angular.js"></script>
    <script src="angular-animate.js"></script>
    <script src="bootstrap.min.js"></script>
    <script type="text/javascript">
        var app = angular.module("myapp", []);
        app.controller('globalController', ['$scope', 'idDeleteService', function($scope, idDeleteService) {
            $scope.transmitId = function(id) {
                idDeleteService.id = id;
            }
        }]);
        app.controller('deleteController', ['$scope', 'idDeleteService', function($scope, idDeleteService) {
            $scope.modal = idDeleteService;
        }]);
        app.directive('modal', function() {
            return {
                resrtrict: 'AE',
                scope: {
                    modalTitle: '@',
                    modalBody: '@',
                    confirm:'&',
                    id: '@'
                },
                templateUrl: 'tmpl.html',
                link: function(scope, elem, attrs) {
                }
            }
        });
        app.factory('idDeleteService', function() {
            return {
                modalTitle: 'Delete',
                modalBody: 'Are you sure to delete it?',
                id: '',
                confirm: function(id) {
                    console.log('delete : ' + id);
                    $('#deleteModal').modal('hide');
                }
            };
        });
    </script>
  </head>
  <body ng-app="myapp" ng-controller="globalController">
    <div ng-controller="deleteController">
        <modal modal-title="{{modal.modalTitle}}" modal-body="{{modal.modalBody}}"
        confirm="modal.confirm(id)" id="{{modal.id}}">
        </modal>
    </div>
    <button type="button" data-toggle="modal" class="btn btn-primary" data-target="#deleteModal"
    ng-click="transmitId(1)">
        Delete modal1
    </button>
    <button type="button" data-toggle="modal" class="btn btn-primary" data-target="#deleteModal"
    ng-click="transmitId(2)">
        Delete modal2
    </button>
    <button type="button" data-toggle="modal" class="btn btn-primary" data-target="#deleteModal"
    ng-click="transmitId(3)">
        Delete modal3
    </button>
  </body>

</html>


<div id="deleteModal" class="modal fade">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title">{{modalTitle}}</h4>
      </div>
      <div class="modal-body">
        <p>{{modalBody}}</p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
        <button type="button" class="btn btn-primary" ng-click="confirm({id:id})">Confirm</button>
      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->
</div><!-- /.modal -->

0 0
原创粉丝点击