angular 全局confirm确认框
来源:互联网 发布:淘宝点击收藏 编辑:程序博客网 时间:2024/06/05 07:14
全局确认框是在弹出模态框的基础上修改的。
配置
模板
angular.module('custom-template', []).run(["$templateCache", function($templateCache) { $templateCache.put("template/modal/confirmModelTemplate.html", '<div class="m-c">\n'+ ' <div class="modal-header">\n'+ ' <h4 class="modal-title">{{title}}</h4>\n'+ ' </div>\n'+ ' <div class="modal-body">{{content}}</div>\n'+ ' <div class="modal-footer" style="text-align: center;">\n'+ ' <button type="button" class="btn btn-primary" ng-click="ok()">确定</button>\n'+ ' <button type="button" class="btn btn-warning" ng-click="cancel()">取消</button>\n'+ ' </div>\n'+ '</div>\n'+ "");}]);
然后在系统中引用定义的模板module:
var app = angular.module('myApp', ['custom-template']);
调用方法
在自定义的Common factory中定义打开确认框的方法。
angular.module('myApp').factory('Common', ['$http', '$q', '$cookieStore', '$location','$modal', function ($http, $q, $cookieStore, $location,$modal) { return { openConfirmWindow: function(modalTitle,modalContent,modalInstance) { var deferred = $q.defer(); /* * modalInstance是在弹窗的基础上再弹出confirm确认框时从第一个弹窗中传进的$modalInstance, * 若是直接在页面上弹出confirm确认框,则不能传$modalInstance,否则会报错 */ var confirmModal = $modal.open({ backdrop: 'static', templateUrl : 'template/modal/confirmModelTemplate.html', // 指向确认框模板 controller : 'ConfirmCtrl',// 初始化模态控制器 windowClass: "confirmModal",// 自定义modal上级div的class size : 'sm', //大小配置 resolve : { data : function(){ return {modalTitle: modalTitle,modalContent: modalContent};//surgeonSug: $scope.surgeonSug, } } }); // 处理modal关闭后返回的数据 confirmModal.result.then(function() { if(!!modalInstance) { modalInstance.dismiss('cancel'); } deferred.resolve(); },function(){ }); return deferred.promise; } } }]);
自定义CSS
.confirmModal .modal-sm { width: 400px;}.confirmModal .modal-content { margin-top: 40%;}.confirmModal .modal-header { padding: 10px 15px;}.confirmModal .modal-body { padding: 10px 15px; border-top: 1px solid #e5e5e5;}
使用
在页面上使用的具体方法如下:
$scope.delete = function(id) { var modalTitle = '提示!'; var modalContent = '确定删除吗?'; Common.openConfirmWindow(modalTitle,modalContent).then(function() { $http.delete(url+id) .success(function() { $scope.load($scope.currSelSurgeon); $rootScope.lxAlert['success']('删除成功!'); }).error(function() { $rootScope.lxAlert['danger']('删除失败!'); }); });};
在弹出的模态框中使用的具体方法:
$scope.cancel = function(){ var modalTitle = '确定关闭吗?'; var modalContent = '填写的信息未保存,请确认是否关闭?'; Common.openConfirmWindow(modalTitle,modalContent,$modalInstance);};
第一种使用一定不能传入第三个参数modalInstance,否则会报错。第二种在弹出模态框的基础上再弹出确认框必须要传入$modalInstance,用于关闭模态框。到这里整个全局确认框的使用就完成了。
如有不当的地方,请予指正!
0 0
- angular 全局confirm确认框
- JavaScript 确认框 confirm
- 确认框confirm
- js中的确认框confirm
- 确认confirm()
- confirm 确认框的一个实际应用
- Confirm确认框无效的解决方法
- 确认信息框:Ext.MessageBox.confirm()
- confirm确认提示框模拟返回值
- js简单弹出confirm确认框
- Js确认框confirm()用法实例
- angular 全局提示框
- JavaScript --确认对话框confirm
- jQ confirm确认对话框
- JavaScript 弹出框:警告(alert)、确认(confirm)以及提问(prompt)
- confirm 确认框的一个实际应用(续)
- JavaScript 弹出框:警告(alert)、确认(confirm)以及提问(prompt)
- 关于confirm确认框制作的一个小技巧
- 第五天函数复习
- 【joda-time】方法积累
- App系列------如何动态申请权限
- POJ-1135-Domino Effect(迪杰斯特拉)
- Lombok 安装、入门 - 消除冗长的 java 代码
- angular 全局confirm确认框
- Python为什么不需要swap(a, b)
- 【GDB调试学习笔记】Makefile多级目录生成多个可执行文件
- Linux下使用extundelete恢复误删文件
- 浏览器和手机访问不同的页面
- (二)maven简介
- clone 某指定远程分支
- Linux中查找命令总结
- Window上git bash命令行中文乱码问题解决方案