angular全局确认框confirm

angular.module(‘custom-template‘, []).run(["$templateCache", function ($templateCache) {
  $templateCache.put("template/modal/confirmModelTemplate.html",
  ‘<div id="youModel" class="m-c">\n‘ +
  ‘ <div class="modal-header">\n‘ +
  ‘ <h4 class="modal-title">{{modalTitle}}</h4>\n‘ +
  ‘ </div>\n‘ +
  ‘ <div class="modal-body">{{modalContent}}</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-default" ng-click="cancel()">取消</button>\n‘ +
  ‘ </div>\n‘ +
  ‘</div>\n‘ +
  "");
}]);

然后再模块中注入‘‘custom-template’;

打开该模块的方法:

app.factory(‘Common‘, [‘$http‘, ‘$q‘, ‘$cookieStore‘, ‘$location‘, ‘$modal‘,
  function ($http, $q, $cookieStore, $location, $modal) {
    return {
      openConfirmWindow: function (modalTitle, modalContent, modalInstance) {
      var deferred = $q.defer();
      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;
    }
  }
}]);

关闭该模态框同时带参过来:

app.controller(‘ConfirmCtrl‘, [‘$scope‘, ‘$modalInstance‘, ‘data‘,
  function ($scope, $modalInstance, data) {
  $scope.modalTitle = data.modalTitle;
  $scope.modalContent = data.modalContent;
  $scope.ok = function () {
  $modalInstance.close(true);
  };
  //关闭邮件框
  $scope.cancel = function () {
    $modalInstance.dismiss(‘cancel‘);
  };
}]);

在其他控制器调用该确认框:(首先注入Common)

Common.openConfirmWindow(‘删除提示!‘, ‘确定删除吗?‘).then(function () {
  $http({
    method: ‘POST‘,
    url: ‘/contact/delete?id=‘ + deleteData.id,
    headers: { ‘Content-Type‘: undefined },
    transformRequest: angular.identity
  }).then(function (response) {
    $scope.toaster.text = response.data.message;
    if (response.data.success == false) {
      toaster.pop(‘error‘, ‘Error‘, $scope.toaster.text);
      return;
    }
    toaster.pop(‘success‘, ‘Success‘, $scope.toaster.text);
    $scope.ContactData();
  }, function (response) {
    $scope.toaster.text = ‘Network error. Please try again later!‘;
    toaster.pop(‘error‘, ‘Error‘, $scope.toaster.text);
  });
});

完成确认框之后会发现确认框在顶部,然后修改全局的css的‘.model‘样式,所有模态框都垂直居中了,如下:

.modal {
  position: fixed;
  top: 0;
  /* right: 0;
  bottom: 0;
  left: 0; */
  z-index: 1040;
  display: none;
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  outline: 0;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
}

效果图:

时间: 2024-11-03 03:31:20

angular全局确认框confirm的相关文章

js确认框confirm()用法实例详解

先为大家介绍javascript确认框的三种使用方法,具体内容如下 第一种方法:挺好用的,确认以后才能打开下载地址页面.原理也比较清晰.主要用于删除单条信息确认. ? 1 2 3 4 5 6 7 8 9 10 <SCRIPT LANGUAGE=javascript> function del() {  var msg = "您真的确定要删除吗?\n\n请确认!";  if (confirm(msg)==true){   return true;  }else{   retu

JQueryUI确认框 confirm

$(function(){ $('#AlertMsg').dialog({ autoOpen: false, width: 300, modal: true, position: 'center', buttons: { "确定": function() { $(this).dialog("close"); } } }); $('#ConfirmMsg').dialog({ autoOpen: false, width: 300, modal: true, posi

[转]js中confirm实现执行操作前弹出确认框的方法

原文地址:http://www.jb51.net/article/56986.htm 本文实例讲述了js中confirm实现执行操作前弹出确认框的方法.分享给大家供大家参考.具体实现方法如下: 现在在删除或其它操作前弹出确定提示,我们有很多方法,最基本的就是利用js自带的函数confirm来操作了 最简单的用法如下: 鼠标事件使用confirm 复制代码 代码如下: <a href="#" onclick= "if(confirm( '是否确定! ')==false)r

jQuery UI实现的自定义confirm确认框简单介绍

jQuery UI实现的自定义confirm确认框简单介绍:本章节介绍一下jQuery UI自定义了一个confirm的确认对话框效果.通过html代码自定义对话框的显示界面和外观,可以自定义confirm框的按钮.本例中定义了一个confirm确认按钮和一个cancel取消按钮.html代码: <button id="callConfirm">Confirm!</button> <div id="dialog" title="

使用angular中自定义的directive实现删除确认框

我的删除情况,可单独删除一条任务,也可以根据类别删除(类别和所属此类别的任务集合). 首先页面 task.ng.html <span ng-click="remove(task)" confirm><span class="glyphicon glyphicon-trash icon" ></span></span> TaskController $scope.ok = function (task) { $scope

WPF 提示框、确认框、确认输入框

1.提示框 分为提示.异常.失败.成功几种类型 方法: /// <summary> /// 弹出提示 /// 标题:提示 /// </summary> /// <param name="strContent">内容</param> public static void ShowInfoMessageBox(string strContent) { AlertRadWindow(Application.Current.MainWindow,

C# GridView Edit &amp; Delete, 点击Delete的时候弹出确认框

1. 使用GridView自带属性ShowEditButton和ShowDeleteButton,均设为True  <Columns> ... <asp:CommandField ShowEditButton="True" ShowDeleteButton="True"></asp:CommandField> </Columns> 则在GridView指定列的位置会显示Edit和Delete的LinkButton 2.

确认框的使用。弹出一个确认框,Ajax提交一个请求,刷新页面。

视图: <td> @if (item.ReviewProject.DeclareState == DeclareOrReviewState.正在进行 && !item.IsSubmit) { @Html.ActionLink("编辑", "Edit", new { id = item.ApplicationProjectID }) <text> |</text> @Html.ActionLink("删除&

JavaScript中的警告框、确认框、会话框

<html> <head> <script type="text/javascript"> <!-- document.write("当浏览器不支持JS时,语句体将不被执行.<br/>"); //单行注释 /*多行注释*/ //变量的声明格式:var 变量名[=值]; var li_a = 30; document.write(li_a + "<br/>"); document.w