Comment autoriser la duplication en ng-repeat avec le suivi et la mise à jour de la liste ng-repeat du contrôleur?Dupliquer ng-repeat avec la piste par
En utilisant la piste par l'indice de $ je ne suis pas en mesure de mettre à jour variable portée, mais je veux laisser l'objet en double en ng répétition
Condition: 1) permettent double en ng répétition 2) utiliser la piste par 3) mettre à jour la liste ng de répétition à partir du contrôleur
HTML
<div>
<ng-repeat="question in pagedata.questions track by $index">
<p>{{question.questionText}}<p>
<div ng-repeat="option in question.optionList track by $index">
<p ng-click="changeNextQuestion(question.nextQuestionId)">{{option}}</p>
</div>
</div>
Controller
$scope.pagedata.questions = [
{
"questionId" : 1
"questionText" : "A"
"optionList" : [A1, A2, A3],
"nextQuestionId" : 2
},
{
"questionId" : 2
"questionText" : "B"
"optionList" : [B1, B2, B3],
"nextQuestionId" : 2
},
{
"questionId" : 3
"questionText" : "C"
"optionList" : [C1, C2, C3],
"nextQuestionId" : 2
}
];
$scope.pagedata.questionsBack = angular.copy($scope.pagedata.questions);
$scope.changeNextQuestion = function(nextQuestionId){
var nextQuestion = findNextQuestionIndex($scope.pagedata.questions, nextQuestionId);
$scope.pagedata.questions[0] = $scope.pagedata.questionsBack[nextQuestion];
});
//I want to update view with new value.
}
}
piste utilisée par l'indice $. mettre à jour suffit de mettre à jour la valeur de la portée. –