在非角度环境中是如此简单。只需html和两行js代码,即可在屏幕上显示模式确认对话框。
现在,我正在开发一个AngularJS项目,在其中我到处都使用ui-
bootstrap模态确认对话框,即使对于诸如“您确定要删除此记录吗?”之类的简单事情,我也讨厌创建新的控制器。一种东西。
您如何处理这些简单的情况?我确信有人写了一些指令来简化需求。
我想请您分享您的经验或有关该主题的项目。
因此,为此创建可重复使用的服务… 阅读此处
代码在这里:
angular.module('yourModuleName').service('modalService', ['$modal',
// NB: For Angular-bootstrap 0.14.0 or later, use $uibModal above instead of $modal
function ($modal) {
var modalDefaults = {
backdrop: true,
keyboard: true,
modalFade: true,
templateUrl: '/app/partials/modal.html'
};
var modalOptions = {
closeButtonText: 'Close',
actionButtonText: 'OK',
headerText: 'Proceed?',
bodyText: 'Perform this action?'
};
this.showModal = function (customModalDefaults, customModalOptions) {
if (!customModalDefaults) customModalDefaults = {};
customModalDefaults.backdrop = 'static';
return this.show(customModalDefaults, customModalOptions);
};
this.show = function (customModalDefaults, customModalOptions) {
//Create temp objects to work with since we're in a singleton service
var tempModalDefaults = {};
var tempModalOptions = {};
//Map angular-ui modal custom defaults to modal defaults defined in service
angular.extend(tempModalDefaults, modalDefaults, customModalDefaults);
//Map modal.html $scope custom properties to defaults defined in service
angular.extend(tempModalOptions, modalOptions, customModalOptions);
if (!tempModalDefaults.controller) {
tempModalDefaults.controller = function ($scope, $modalInstance) {
$scope.modalOptions = tempModalOptions;
$scope.modalOptions.ok = function (result) {
$modalInstance.close(result);
};
$scope.modalOptions.close = function (result) {
$modalInstance.dismiss('cancel');
};
};
}
return $modal.open(tempModalDefaults).result;
};
}]);
用于显示的html
<div class="modal-header">
<h3>{{modalOptions.headerText}}</h3>
</div>
<div class="modal-body">
<p>{{modalOptions.bodyText}}</p>
</div>
<div class="modal-footer">
<button type="button" class="btn"
data-ng-click="modalOptions.close()">{{modalOptions.closeButtonText}}</button>
<button class="btn btn-primary"
data-ng-click="modalOptions.ok();">{{modalOptions.actionButtonText}}</button>
</div>
一旦完成此操作,您只需在要创建对话框的任何地方注入以上服务,如下所示
$scope.deleteCustomer = function () {
var custName = $scope.customer.firstName + ' ' + $scope.customer.lastName;
var modalOptions = {
closeButtonText: 'Cancel',
actionButtonText: 'Delete Customer',
headerText: 'Delete ' + custName + '?',
bodyText: 'Are you sure you want to delete this customer?'
};
modalService.showModal({}, modalOptions)
.then(function (result) {
//your-custom-logic
});
}
我想知道如何创建一个不显示StatusBar中图标的通知。 有办法隐藏?
请问一下: 1、在Electron中,是否默认情况下,一般都是只有一个window? 2、在什么场景下,使用多个window呢? 3、是否在Electron创建项目之后,默认情况下,是渲染进程上嵌入的一个SPA应用?
所以我已经用UTC在数据库中保存了任何日期,我可以像$data一样获得它- 在查看所有日期时,是否有一种简单的方法转换我想要的时区? 我仍在使用Laravel 5.8 编辑: 我正在使用答案,但在我的基本模型上实现它,像这样: 我会像这样调用列名$data-
问题内容: 我正在尝试在Eclipse中创建一个简单的Web服务。首先,我创建了一个空的Java项目,并将以下三个文件添加到src文件夹中 Greeting.java GreetingImp.java WSPublisher 我正在遵循的教程未指定任何服务器来运行Web服务!我想知道是否需要指定任何服务器。我已经有了Tomcat v5.5,但在此示例中未使用它。每当我将这个项目作为Java项目运行
我正在使用fcm控制台向所有安装了我的应用程序的设备发送消息,通知没有任何额外的负载,只有通知消息。 我想知道是否有一种简单的方法可以知道活动是否从FCM通知点击打开。 有一种解决方案是扩展FirebaseMessagingService并自己创建通知。 我想知道是否有其他解决方案,而不扩展服务或向通知传递额外内容。 是否传递了任何额外信息,用于从通知单击打开活动?
问题内容: 我正在探索用Java创建简单业务规则引擎的不同方法。我需要为客户提供一个简单的webapp,让他配置一堆规则。规则库示例可能如下所示: 例子如下: 规则引擎非常简单,最终动作可能只是发送给住院病人或门诊病人的两个动作之一。表达式中涉及的运算符可以为,而表达式之间的逻辑运算符为。 我想构建一个Web应用程序,其中用户将用编写一个小脚本,然后对表达式进行评估- 这样,业务规则用简单的英语进