我一直在使用一个web应用程序,这将显示论坛的主题。没有我的问题,我不能在每个主题回复上显示用户名。Angularjs和关系数据库
这里是我的MER
现在的这个重要的部分是角色(用户)通过id_persona与respuestas(回信)有关。
我想获取用户信息,如(姓名,姓在个人数据库中),所以我使用了一些解决方案。
这里我的HTML
<h2>{{titulo}}</h2>
<p>{{texto}}</p>
<div class="row">
<div class="container" ng-repeat="respuesta in respuestas">
<!-- solution 1 -->
<span>{{ getPersona(respuesta[3]) }}</span>
<!-- solution 2 -->
<div ng-init="searchUser(respuesta[3])">
<span ng-repeat="user in users" ng-if="respuesta[3] == user[0]">{{user[0]}}</span>
</div>
<p>{{respuesta[1]}}</p>
</div>
</div>
TITULO和texto是我的TEMA(主题),我用$ routeParams得到的一部分。
NG-重复越来越它与这个话题
现在相关的所有答复,解决方案1是<span>{{ getPersona(respuesta[3]) }}</span>
凡在我CONTROLER我有得到respuesta函数[3](这是id_persona)。
$scope.getPersona = function(persona) {
var url3 = 'http:/WEBSERVICE/persona?filter=id,eq,' + persona;
$http.get(url3).then(function(response) {
//console.log(response);
var user = response.data.persona.records[0];
console.log(user)
return user;
});
}
这应返回与用户信息的阵列,但我发现了一个错误
10 $digest() iterations reached. Aborting!
Watchers fired in the last 5 iterations: []
net::ERR_INSUFFICIENT_RESOURCES
第二溶液<div ng-init="searchUser(respuesta[3])">
这也发送respuesta [3]起作用searchUser。此解决方案正在创建一个数组(用户),其中包含用户回复该主题的信息,然后用nf-if过滤respuesta [3] = user.id中的那个。
$scope.users = []
$scope.searchUser = function(persona) {
var url3 = 'https://WEBSERVICE/persona?filter=id,eq,' + persona;
$http.get(url3).then(function(response) {
var user = {
id: response.data.persona.records[0][0],
nombres: response.data.persona.records[0][3],
apellidos: response.data.persona.records[0][4] + ' ' + response.data.persona.records[0][5]
};
//console.log(user)
if ($scope.users.indexOf(user) == -1) {
$scope.users.push(user);
console.log($scope.users.indexOf(user));
console.log($scope.users)
}
})
}
这是什么问题?我没有我的用户获得双份阵列的用户此我为什么使用$scope.users.indexOf(user)
我认为解决方案1应是提高工作效率的一个,但它不工作,解决工作2,但我得到重复的用户,还尝试了做了,卜我不明白它是如何工作的,我这样做:
for (var i = 0; i < $scope.users.length; i++) {
if($scope.users[i].id === users.id) {
console.log('ya existe');
} else {
$scope.users.push(user);
}
console.log($scope.users)
}
感谢您的帮助!