一般来说有五种,
size:'all',全屏,
size:'full',当前屏幕的90%,
size:'lg',大的,大小是根据媒体查询的,具体查看bootstarps;
size:'md',中等的,大小是根据媒体查询的,具体查看bootstarps;
size:'sm',小的,大小是根据媒体查询的,具体查看bootstarps;
除了这五种,还可以自定义;
$modal.open({}, { size: 'classname' });
.modal-classname {
max-width: 1000px;
}
创建模态框
//创建模态弹窗
var modalInstance = $modal.open({
templateUrl: 'tpl/trackingPayment.htm',//弹窗html路径
controllerAs: 'vm',
backdrop: 'static', //背景
controller: 'trackingPaymentCtrl', //弹窗控制器名称
resolve: { //需要传递的值,在其控制器中trackingPaymentCtrl注入data以获取值
data: function () {
return 'dddd';
}
}
});
modalInstance.opened.then(function () { //打开模态框时需要执行的事件
console.log('modal is opened');
});
modalInstance.result.then(function (result) { //关闭模态框时,点击确定需要执行的事件
console.log("result" + result);
}, function (reason) { //关闭模态框时,点击取消需要执行的事件
console.log("reason" + reason);
});
$modal只有一个方法:open,该方法的属性有:
-
templateUrl
:模态窗口的地址 -
template:用于显示html标签
-
scope
:一个作用域为模态的内容使用(事实上,$modal会创建一个当前作用域的子作用域
)默认为$rootScope
-
controller
:为$modal指定的控制器,初始化$scope,该控制器可用$modalInstance
注入 -
resolve
:定义一个成员并将他传递给$modal指定的控制器,相当于routes的一个reslove属性,如果需要传递一个objec对象,需要使用angular.copy() -
backdrop
:控制背景,允许的值:true(默认),false(无背景),“static
” - 背景是存在的,但点击模态窗口之外时,模态窗口不关闭 -
keyboard
:当按下Esc时,模态对话框是否关闭,默认为ture -
windowClass
:指定一个class并被添加到模态窗口中
open方法返回一个实例,该实例具有如下属性:
-
close(result)
:关闭模态窗口并传递一个结果 -
dismiss(reason)
:撤销模态方法并传递一个原因 -
result
:一个契约,当模态窗口被关闭或撤销时传递 -
opened
:一个契约,当模态窗口打开并且加载完内容时传递的变量
另外,$modalInstance扩展了两个方法$close(result)
、$dismiss(reason)
,这些方法很容易关闭窗口并且不需要额外的控制器