使用angular和bootstrap将错误类应用于元素的最佳实践

时间:2015-02-11 18:56:52

标签: angularjs twitter-bootstrap

我目前正在执行ajax调用,如果返回错误,我想将错误类应用于元素。什么是最佳/最佳/最简单的执行方式?

1 个答案:

答案 0 :(得分:2)

如果元素和Ajax调用是同一个控制器/指令的一部分,只需更新您的范围即可。例如

ajax().error(function(e) {
  $scope.error = true;
});

在HTML中,元素将获得类"某些东西是错误的"

<div ng-class="{'something-is-wrong': error}"> ... </div>

现在,如果您还想显示错误消息,则可以将一个布尔值放入scope.error

中。
ajax().error(function(e) {
  // Or just $scope.error = "Cannot do stuff"
  $scope.error = formatMessage(e);
});

HTML:

<div ng-class="{'something-is-wrong': error}"> {{error}} </div>

最后,如果ajax调用与您的元素不在同一环境中,您可以依赖服务。

module.factory('errorService', function() {
  return { error: null };
});

ajax().error(function(e) {
  errorService.error = e;
});

Html(在向您的范围添加errorService之后):

<div ng-class="{'something-is-wrong': errorService.error}"> ... </div>