angularJS,加载几秒钟然后消失的部分通知或模态通知
angularJS, a notification partial or modal that gets loaded for a few seconds and then disappears
您好,我目前正在使用 angularJS nodeJs 构建一个应用程序。其中一项功能是让个人能够从该应用程序发送电子邮件。为此,他们单击一个按钮,打开一个模式 window。他们填写表格,然后点击发送。这会导致电子邮件发送并关闭 window。一旦模态 window 关闭并且我从节点收到电子邮件已成功发送的响应,我希望有一种简单的方法来向用户显示 bubble/modal 或简单地说 [=15= 的消息].理想情况下,我希望此消息显示 10 秒然后消失。
有没有人对如何以简单的方式实现这一点有任何建议?
像往常一样打开模式,在它的控制器中使用 $timeout
在 x 秒后调用 $modalInstance.dismiss();
。即
$timeout(function(){ $modalInstance.dismiss(); }, 10000);
如果您愿意添加 jQuery(或者如果您已经将其包含在您的项目中),您可以使用 toastr。
甚至还有一个用于 angularJS、here.
的 toastr 实现
这是一个link to JSFiddle
使用了 angular 台烤面包机并模拟了失败和成功的场景
HTML:
<div class="container" ng-controller="emailCtrl">
<div class="btn btn-danger" ng-click="errorEmailReq()">Send Email Failed
</div>
<br/><br/>
<div class="btn btn-success" ng-click="successEmailReq()">Send Email Success
</div>
</div>
<toaster-container toaster-options="{'time-out': 10000}"></toaster-container>
JS:
var myApp = angular.module('myApp', ['toaster']);
myApp.controller('emailCtrl', function ($scope, $http, toaster, $timeout) {
$scope.errorEmailReq = function () {
//Some API call for failure
$http.get("/email_for_failure").error(function(){
toaster.pop("error", "", "Email Delivery Failed");
});
};
$scope.successEmailReq = function () {
//Some API call for success
$http.get("/").success(function () {
toaster.pop("success", "", "Email sent successfully");
});
};
});
//模拟邮件发送请求失败
myApp.factory("httpErrorInterceptor", ["$q", function ($q) {
var myInterceptor = {
"responseError": function () {
return $q.reject("This is not a real failure call -- simulation");
}
};
return myInterceptor;
}]);
myApp.config(["$httpProvider", function ($httpProvider) {
$httpProvider.interceptors.push("httpErrorInterceptor");
}]);
您好,我目前正在使用 angularJS nodeJs 构建一个应用程序。其中一项功能是让个人能够从该应用程序发送电子邮件。为此,他们单击一个按钮,打开一个模式 window。他们填写表格,然后点击发送。这会导致电子邮件发送并关闭 window。一旦模态 window 关闭并且我从节点收到电子邮件已成功发送的响应,我希望有一种简单的方法来向用户显示 bubble/modal 或简单地说 [=15= 的消息].理想情况下,我希望此消息显示 10 秒然后消失。
有没有人对如何以简单的方式实现这一点有任何建议?
像往常一样打开模式,在它的控制器中使用 $timeout
在 x 秒后调用 $modalInstance.dismiss();
。即
$timeout(function(){ $modalInstance.dismiss(); }, 10000);
如果您愿意添加 jQuery(或者如果您已经将其包含在您的项目中),您可以使用 toastr。 甚至还有一个用于 angularJS、here.
的 toastr 实现这是一个link to JSFiddle 使用了 angular 台烤面包机并模拟了失败和成功的场景
HTML:
<div class="container" ng-controller="emailCtrl">
<div class="btn btn-danger" ng-click="errorEmailReq()">Send Email Failed
</div>
<br/><br/>
<div class="btn btn-success" ng-click="successEmailReq()">Send Email Success
</div>
</div>
<toaster-container toaster-options="{'time-out': 10000}"></toaster-container>
JS:
var myApp = angular.module('myApp', ['toaster']);
myApp.controller('emailCtrl', function ($scope, $http, toaster, $timeout) {
$scope.errorEmailReq = function () {
//Some API call for failure
$http.get("/email_for_failure").error(function(){
toaster.pop("error", "", "Email Delivery Failed");
});
};
$scope.successEmailReq = function () {
//Some API call for success
$http.get("/").success(function () {
toaster.pop("success", "", "Email sent successfully");
});
};
});
//模拟邮件发送请求失败
myApp.factory("httpErrorInterceptor", ["$q", function ($q) {
var myInterceptor = {
"responseError": function () {
return $q.reject("This is not a real failure call -- simulation");
}
};
return myInterceptor;
}]);
myApp.config(["$httpProvider", function ($httpProvider) {
$httpProvider.interceptors.push("httpErrorInterceptor");
}]);