我使用ng-repeat代替<ul>
。但是,我无法看到在特定索引处显示错误消息的任何简单方法。我不希望它出现在每个实例中:
例如,在我的HTML中我有:
<ul ng-click="apiMethod()" ng-repeat=“item in workArray”>
<li >{{item}}
<div>{{errorMessage}}</div>
</li>
</ul>
在我的控制器中有
$scope.apiMethod = function(){
//An $http api call that returns the variable result
$scope.errorMessage = result.data.message;
}
我知道我的ng-repeat有$index
我可以传入我的ng-click方法,但是我该如何做:
$scope.apiMethod = function(index){
$scope.errorMessage.index = result.data.message;
}
希望这很清楚 - 对Angular来说是新手。
感谢。
答案 0 :(得分:1)
在errorMessage
集合的每个元素上都有workArray
属性,以便它们可以单独推迟。当调用apiMethod
时,传递item
的当前workArray
项的引用,然后在该方法内部执行ajax并将错误消息绑定到相同的项引用item.errorMessage
。
<强>标记强>
<ul ng-click="apiMethod(item)" ng-repeat="item in workArray”>
<li >{{item}}
<div ng-if="item.errorMessage">{{item.errorMessage}}</div>
</li>
</ul>
<强>代码强>
$scope.apiMethod = function(item){
//An $http api call that returns the variable result
item.errorMessage = result.data.message;
}