本例实现一个bootstrap的模态窗
1、HTML代码
<!doctype html> <!--suppress ALL --> <html ng-app="appTow"> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"><meta content="always" name="referrer"> <script src="angular.min.js"></script> <script src="./Script/jquery-2.1.1.min.js"></script> <link href="./Content/Plus/bootstrap-3.2.0-dist/css/bootstrap.min.css" rel="stylesheet"/> <script src="./Content/Plus/bootstrap-3.2.0-dist/js/bootstrap.min.js"></script> <link href="./Skin/Default/css/site.css" rel="stylesheet"/> <script src="app.js"></script> </head> <body> <div ng-controller="MyController"> Your name: <input type="text" ng-model="username"> <button ng-click='sayHello()'>greet</button> <hr> {{greeting}} </div> <div ng-controller="MyController1"> Your name: <input type="text" ng-model="username"> <button ng-click='sayHello()'>greet</button> <li ng-repeat="x in names" ng-click="clickOneLi(x.Name,$index)"> {{ x.Name}} </li> <table> <tr> <td class="ruyeeTableTDLable"><span>Names</span></td> <td class="ruyeeTableDataCell"> <div class="btn-group"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> <span>{{selectedItem}}</span><span class="caret"></span> </button> <ul class="dropdown-menu" role="menu"> <li ng-repeat="x in names"> <a href="#" ng-click="clickOneLi(x.Name,$index)">{{ x.Name}}</a> </li> </ul> </div> </td> </tr> </table> <button ng-click='modal_showModal()'>showModal</button> <div class='modal fade' tabindex='-1' role='dialog' aria-labelledby='myModalLabel' aria-hidden='true' id="myModal"> <div class='modal-dialog'> <div class='modal-content'> <div class='modal-header'> <button type='button' class='close' data-dismiss='modal' > <span aria-hidden='true'>×</span> <span class='sr-only'>关闭</span></button> <h4 class='modal-title' id='myModalLabel'> <span>系统提示</span> </h4> </div> <div class='modal-body'> <span >{{modal_selectedId}}:{{selectedItem}}</span> </div> <div class='modal-footer'> <button type='button' data-dismiss='modal'class='btn btn-primary' > 取消 </button> <button type='button' data-dismiss='modal' class='btn btn-primary' ng-click='modal_okAction(modal_selectedId)'> 确定 </button> </div> </div> </div> </div> </div> </body> </html>
2、JS代码
// modal窗体封装 function modalWindow(angularObje, modalId, okAction) { angularObje.modal_selectedId = "-1"; angularObje.modal_showModal = function () { $('#' + modalId).modal(); } angularObje.modal_okAction = function (item) { if (typeof okAction == 'function') okAction(item); } } angular.module('appOne', []) .controller('MyController', function ($scope) { $scope.username = 'World'; $scope.sayHello = function () { $scope.greeting = 'Hello ' + $scope.username + '!'; }; }); angular.module('appTow', ['appOne']) .controller('MyController1', function ($scope, $http) { $scope.username = 'World002'; $scope.sayHello = function () { $http.get("Data.json") .success(function (response) { $scope.names = response; }); }; $scope.clickOneLi = function (item, index) { $scope.selectedItem = item; $scope.modal_selectedId = index; $('#myModal').modal(); } $scope.selectedItem = "Please select one"; /*region modal窗体*/ /* // modal窗体简单实现 $scope.modal_selectedId="-1"; $scope.modal_showModal=function(){ $('#myModal').modal(); } $scope.modal_okAction=function(id) { alert(id); } */ modalWindow($scope, 'myModal', function (_) { alert(_); }) /*endregion modal窗体*/ });