Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度-如何对不同类型的错误执行动态警报?_Javascript_Angularjs_Angular Strap - Fatal编程技术网

Javascript 角度-如何对不同类型的错误执行动态警报?

Javascript 角度-如何对不同类型的错误执行动态警报?,javascript,angularjs,angular-strap,Javascript,Angularjs,Angular Strap,在我的web应用程序中,我会显示加载内容的警报,并在出现错误时显示另一个警报 我正在使用AngularJS/AngularStrap 这就是我现在所拥有的: var noLinesAlert = $alert({ title: 'Sorry, no lines at this moment :(', container: '.no-lines-alert', type: 'danger', dismissable: false, show: false }), loader

在我的web应用程序中,我会显示加载内容的警报,并在出现错误时显示另一个警报

我正在使用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个以上的警报,我是否每次都必须创建包含对象的变量,或者是否有一种方法可以以编程的方式来实现?以及如何更改。对于每个警报,标题、容器、类型和显示属性都会发生更改。您需要向程序提供这些信息,所以不能再短了。

好吧,您可以将这4种特殊情况的“默认”设置存储在专用对象中,例如:
ALERTS\u settings={注意:{}
,然后调用将更加简洁:

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

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

将$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')

“更具程序性”是什么意思?您正在代码中创建一个警报,而不是以声明的方式,它能以编程的方式得到多少呢?我不想让每个案例都有一个代码,只需调用它并自定义属性即可。或者你能告诉我什么?我这样做是正确的吗?您可以创建默认值,但最终需要针对特定警报,不是吗?因此,您可以围绕它创建一些包装器服务,但是您手中有所有的工具/钩子来做任何您需要的事情。。换句话说,您已经拥有了所需的所有编程访问权限。除此之外,这个问题太广泛了。这正是我需要我的朋友。谢谢