Angular - 如何使用不同类型的错误进行动态警报?

时间:2014-12-18 16:26:17

标签: javascript angularjs angular-strap

在我的网络应用中,我正在显示加载内容的警报以及出现错误时的其他警报。

我正在使用AngularJS / AngularStrap

现在这就是我所拥有的:

var noLinesAlert = $alert({
  title: 'Sorry, no lines at this moment :(',
  container: '.no-lines-alert',
  type: 'danger',
  dismissable: false,
  show: false
}),

loaderAlert = $alert({
  content: 'Loading content. Please wait...',
  container: '.alerts-container',
  type: 'info',
  show: true
  });

我以这种方式调用这些警报,例如noLinesAlert.show()loaderAlert.hide()等等......但是想象一下,对于特殊情况我还会再发出4个警报,我是否必须创建这些警报每次都有内部对象的变量或有没有办法以编程方式进行更多操作?以及如何。

3 个答案:

答案 0 :(得分:1)

对于每个警报,标题,容器,类型和显示属性都会更改。您需要向程序提供该信息,因此您无法做到这一点。

答案 1 :(得分:1)

那么,您可以在专用对象中存储这4个特殊情况的“默认”设置,例如:ALERTS_SETTINGS = { notice: {} },然后调用会更加简洁:

var noticeOptions = angular.extend(ALERTS_SETTINGS.notice, { title: "My custom property one" })
var notice = $alert(noticeOptions)

使用angular.extend,您可以覆盖第二个参数中提供的原始对象的任何默认设置。

答案 2 :(得分:0)

将$ alert放入函数中使其动态化。允许该函数将参数传递给$ alert。将show属性设置为true。

需要时调用该功能。例如:

var displayAlert = function(alertTitle, className) {

    var alertOptions = {
       title: alertTitle,
       container: className,
       type: 'danger',
       dismissable: false,
       show: true
    };

    var alert = $alert(alertOptions);

}

// Call the function when needed
$scope.displayAlert('Sorry, no lines at this moment :(','.no-lines-alert')