欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

AngularJS中使用ngModal模态框实例

程序员文章站 2022-09-05 21:42:54
在angularjs中使用模态框需要引用的文件: angular.js 1.5.5 ui.bootstrap-tpls.js 0.11.2 boots...

在angularjs中使用模态框需要引用的文件:

  1. angular.js 1.5.5
  2. ui.bootstrap-tpls.js 0.11.2
  3. bootstrap.css 3.3.7

需要注意版本要一致,高版本的不支持这种方法,会出错

将需要弹出的模态框的内容写在 script 标签中,指明属性,放在页面中

<script type="text/ng-template" id="modal.html"> 
<div>
  <div class="modal-header">
    <h3 class="modal-title" align="center">
      标题信息
    </h3>
  </div>
  <div class="modal-body">
    <div align="center">
      模态框内容
    </div>
  </div>
  <div class="modal-footer">
    <button class="btn btn-primary" ng-click="ok()">
      确认
    </button>
    <button class="btn btn-warning" ng-click="cancel()">
      退出
    </button>
  </div>
</div>
</script>

在app和controller中注入模态框

var app = angular.module('app', ['ui.bootstrap']);
app.controller('modalcontroller', function($scope, $rootscope,$modal) {
  $scope.openmodel = function() {
      var modalinstance = $modal.open({
        templateurl : 'modal.html',//script标签中定义的id
        controller : 'modalctrl',//modal对应的controller
        resolve : {
          data : function() {//data作为modal的controller传入的参数
             return data;//用于传递数据
          }
        }
      })
    }
}

//模态框对应的controller
app.controller('modalctrl', function($scope, $modalinstance, data) {
  $scope.data= data;

  //在这里处理要进行的操作  
  $scope.ok = function() {
    $modalinstance.close();
  };
  $scope.cancel = function() {
    $modalinstance.dismiss('cancel');
  }
});

添加事件触发显示模态框

<button ng-click="openmodal()">打开模态框</button>

html

<!doctype html>
<html ng-app="app" ng-controller="modalcontroller">
<head>
  <title>ng-model模态框</title>
</head>
<link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet">
<body>
<button ng-click="openmodal()">打开模态框</button>

<script type="text/ng-template" id="modal.html"> 
  <div>
    <div class="modal-header">
      <h3 class="modal-title" align="center">
        标题信息
      </h3>
    </div>
    <div class="modal-body">
      <div align="center">
        模态框内容 <br>
        {{data}}
      </div>
    </div>
    <div class="modal-footer">
      <button class="btn btn-primary" ng-click="ok()">
        确认
      </button>
      <button class="btn btn-warning" ng-click="cancel()">
        退出
      </button>
    </div>
  </div>
</script>

<script src="https://cdn.bootcss.com/angular.js/1.5.5/angular.min.js"></script>
<script src="https://cdn.bootcss.com/angular-ui-bootstrap/0.11.2/ui-bootstrap-tpls.min.js"></script>

<script type="text/javascript">
  var app = angular.module('app', ['ui.bootstrap']);
  app.controller('modalcontroller', function($scope, $rootscope, $modal) {
    var data = "通过modal传递的数据";
    $scope.openmodal = function() {
        var modalinstance = $modal.open({
          templateurl : 'modal.html',//script标签中定义的id
          controller : 'modalctrl',//modal对应的controller
          resolve : {
            data : function() {//data作为modal的controller传入的参数
               return data;//用于传递数据
            }
          }
        })
      }
  })
   //模态框对应的controller
   app.controller('modalctrl', function($scope, $modalinstance, data) {
     $scope.data= data;

     //在这里处理要进行的操作
     $scope.ok = function() {
       $modalinstance.close();
     };
     $scope.cancel = function() {
       $modalinstance.dismiss('cancel');
     }
  });
</script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。