对不起英国人,我是法国学生:(
我想用AngularJS为项目创建一个评论系统。
我想恢复一个处于ng-repeat循环中的对象的值。
JSON:https://drive.google.com/file/d/0Bzj557dnogzOd0ZUMnZ1cWZLSFU/edit?usp=sharing
HTML:
<section ng-controller='AnnouncesCtrl' ng-show='!showActions' ng-swipe-left='showActions=true'>
<header class='header'>
<span class="return"><a href='#practice' class='title_link'>6</a></span> Petites annonces <span class="new"><a href='#newAnnounce'>8</a></span>
</header>
<div class='loader' ng-show='loader'></div>
<section class='panel'>
<div ng-repeat='a in dept.announce' class='announces'>
<span class='title'>{{a.name}}</span>
<br/>
<span class="date">{{a.date}}</span>
<hr>
<span class="msg">{{a.desc}}</span>
<hr>
<div class="showrep" ng-click="show=true" ng-show='!show'>Montrer les réponses</div>
<div class="allrep" ng-show="show" ng-repeat='answer in a.answers'>{{answer}}<br/></div>
<div class="formrep">
<form ng-submit='addComments()'>
<input type='text' placeholder='Écrire une réponse'><input type='submit' ng-click='a.btn={{a.id}}' value='Répondre'>
</form>
</div>
</div>
</section>
JS:
function AnnouncesCtrl($scope,$http,$rootScope,$location){
$scope.getInfos=function(){
var dept="http://agence-pandor.fr/getAnnounces/index.php";
$scope.loader=true;
$http.get(dept)
.success(deptSuccess)
.error(function(){
$scope.loader=false;
alert('Impossible de récupérer le numéro étudiant. Veuillez vous reconnecter');
$location.url("/connexion"); // On redirige
})
}
deptSuccess=function(response){
$scope.loader=false;
$scope.dept=response;
}
$scope.getInfos();
$scope.addComments=function(){
alert($scope.dept.announce.btn);
}
}
截图: https://drive.google.com/file/d/0Bzj557dnogzOUDlfNWR3eEthQzA/edit?usp=sharing
答案 0 :(得分:1)
我不太明白你的项目是什么(我不懂法语)。你正在迭代数组“announce”,这应该是“dept”的属性。当您输入:
ng-repeat = 'a in dept.announce'
你正在为ng-repeat创建一个临时变量“a”(就像for循环中的counter变量一样)。
如果“btn”应该是唯一值,则使用:
ng-click = "btn = a.id"
或者如果“btn”特定于“a in announce”的每个值,请使用:
ng-click = "btn[$index] = a.id";
您可以使用$ scope.btn
在JS文件中获取btn的值