<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="http://apps.bdimg.com/libs/bootstrap/3.2.0/css/bootstrap.min.css">
<script src="http://www.w3cschool.cc/try/angularjs/1.2.5/angular.min.js"></script>
<script src="http://cdn.bootcss.com/angular-ui-bootstrap/0.11.2/ui-bootstrap-tpls.js"></script>
引入了angular-ui-bootstrap插件
<title>Document</title>
</head>
<body ng-app="app">
<div class="body" style="margin: 200px auto;padding: 50px;background: lightcoral;" ng-controller="myModal">
<button class="btn btn-warning btn-lg" ng-click="open('lg')">大</button>
<button class="btn btn-warning" ng-click="open()">中</button>
<button class="btn btn-warning btn-sm" ng-click="open('sm')">小</button>
</div>
</body>
</html>
設置了3個按鈕 大的模態框,中的和小的。對應着bootstrap 中的modal樣式
在另外一個HTML配置彈出來的對話框模板 以下:
<div class="modal-header"> //分爲頭部
<h3 class="modal-title">title</h3>
</div>
<div class="modal-body"> //身體
<ul>
<li ng-repeat="item in items">
<a ng-click="selected.item = item">{{item}}</a>
</li>
當前選擇: <b>{{selected.item}}</b>
</ul>
</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 部分
angular.module('app',['ui.bootstrap']).controller('myModal',function ($scope,$modal) {
$scope.items = ['h5', 'c3', 'js'];
$scope.open = function (size) {
var modalInstance = $modal.open({
templateUrl: 'modal.html', //指向上面建立的視圖
controller: 'Ctrl',// 初始化模態範圍 對應着下面Controller
size: size, //大小配置 size是變量,根據open裏面參數
resolve: {
items: function () {
return $scope.items;
}
}
})
}
})
.controller('Ctrl',function ($scope,$modalInstance,items) {
$scope.items = items; 對話框裏面顯示items數組的參數
})
親測,可用