gpt4 book ai didi

javascript - 在 AngularJS 的 ng-repeat 中执行一个函数

转载 作者:行者123 更新时间:2023-11-29 10:10:44 25 4
gpt4 key购买 nike

我想在 ng-repeat 中执行一个函数来检索一些其他数据来显示。

例如,我有一个公寓列表。我使用 ng:repeat 显示此列表,而不是我想向所有者显示的每个公寓,而不是 u.Apartments。因此,我的 getInq 函数调用服务以获取指定公寓的所有者。这对我来说似乎是合乎逻辑的,但它不起作用。它返回 "10 $digest() iterations reached. Aborting!" 错误。

我有这段代码:

<div ng:repeat="u in units">
<div ng:repeat="a in u.Apartments">
<div class="targhetta" style="margin-top:10px">{{a.Name}}</div>
<br />{{getInq(a.ApartmentId)}}
<table>
<tr ng:repeat="cs in a.CS">
<td>{{cs.Position}}</td>
<td>{{cs.Code}}</td>
</tr>
</table>
</div>
</div>

在 Controller 中:

$scope.getInq = function (idApp) {
$http.get('http://localhost:8081/api/registry/GetLastInq?processdata=' + (new Date()).getTime() + '&appartamentoId=' + idApp, { headers: headers })
.success(function (data2) {
$scope.nomeInquilinoVw = data2.Name;
$scope.cognomeInquilinoVw = data2.Surname;
$scope.nomeCognome = $scope.nomeInquilinoVw + " " + $scope.cognomeInquilinoVw;
})
.error(function () {
$scope.success = false;
$scope.error = "There was an error!";
});
return $scope.nomeCognome;
}

有什么建议吗?

最佳答案

你应该创建一个自定义指令,从 ng-repeat 中传入你想要的任何数据,并执行你想要的任何操作。该指令将在每个 ng-repeat 循环中触发其链接函数

var app = angular.module('myApp', [])
.controller('myCtrl', function($scope){

$scope.data = ['a', 'b', 'c'];

})
.directive('myDirective', function(){
return {
restrict: "A",
template: '<div>{{ myDirective }}</div>', // where myDirective binds to scope.myDirective
scope: {
myDirective: '='
},
link: function(scope, element, attrs) {
console.log('Do action with data', scope.myDirective);
}
};
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="myApp">

<div ng-controller="myCtrl">

<ul>
<li ng-repeat="item in data" my-directive="item">{{ item }}</li>
</ul>

</div>

</div>

检查您的控制台以进行操作

关于javascript - 在 AngularJS 的 ng-repeat 中执行一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34085076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com