我目前正在执行ajax调用,如果返回错误,我想将错误类应用于元素。什么是最佳/最佳/最简单的执行方式?
答案 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>