这是我遇到的问题......
我正在返回一个http来重复显示一些数据..
$scope.search = function() {
$http.get("attemptsJSON.php?q="+$scope.svalue)
.success(function(response) {
$scope.attempts = response;
});
}'
该数据我有一个点击功能,可以返回更多数据。但是这些数据是根据以前的数据确定的,这些数据就像这样有一个链接。
$scope.getAllAtt = function(a) {
$http.get("allAttemptsJSON.php?a="+a)
.success(function(response) {
$scope.allAttempts=response;
});
}
问题是返回的数据显示在我的初始重复的每个实例上,我只希望它显示在单击的实例下面。我看了很多不同的可能性,比如模板缓存,但我不知道如何解决这个问题我对Angular有点新,我想我需要使用指令,但指令让我感到困惑。请帮忙。
这是HTML
<tr ng-repeat-start="att in attempts">
<td class="expand-col" ng-click="getAllAtt(att.action_id)"><i class="fa fa-plus-circle"></i></td>
<td>{{att.cust_no}}</td>
<td>{{att.emp_name}}</td>
<td>{{att.attemptdt}}</td>
<td>{{att.note}}</td>
<td>{{att.callstatus}}</td>
</tr>
<tr ng-repeat-end ng-repeat="x in allAttempts">
<td></td>
<td></td>
<td></td>
<td></td>
<td>{{x.note}}</td>
<td></td>
</tr>'
答案 0 :(得分:1)
如果您想要一组仅属于重复项目中的一个项目的值,那么您应该将这些值分配给重复项目,而不是整个范围:
<tr ng-repeat-start="att in attempts">
<td class="expand-col" ng-click="getAllAtt(att)">
<i class="fa fa-plus-circle"></i></td>
<td>{{att.cust_no}}</td>
<td>{{att.emp_name}}</td>
<td>{{att.attemptdt}}</td>
<td>{{att.note}}</td>
<td>{{att.callstatus}}</td>
</tr>
<tr ng-repeat-end ng-repeat="x in att.allAttempts">
<td></td>
<td></td>
<td></td>
<td></td>
<td>{{x.note}}</td>
<td></td>
</tr>
$scope.getAllAtt = function(attempt) {
$http.get("allAttemptsJSON.php?a=" + attempt.action_id)
.success(function (response) {
attempt.allAttempts = response;
});
};
这包括一些简化,因为我无法访问您的HTTP源或CSS,但它演示了这个概念: