Angular - 仅在特定索引处显示错误消息 - 在ngRepeat内

时间:2016-03-19 20:05:57

标签: angularjs

我使用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来说是新手。

感谢。

1 个答案:

答案 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;
}