/ / Variable de réglage dans ng-repeat - angularjs

Paramètre variable dans ng-repeat - angularjs

J'essaie de créer une interface graphique pourmettre à jour les entrées de base de données en utilisant angular.js. Ma stratégie actuelle consiste à créer un formulaire pour chaque entrée pouvant être visualisée à l'aide de ng-hide. Je ne parviens pas à accéder aux informations saisies dans le formulaire.

Le code actuel est le suivant:

admin-edit.html:

<div ng-app= "routerApp" ng-controller="FormCtrl">
<div ng-repeat = "question in multChoice" class = "question" required>
<div class = "col-md-12">
<label>Title: {{question.title}}</label>
<br>
<label>Type: {{question.type}}</label>
<br>
<label>Key: {{question.key}}</label>
<br>
<label>Options:</label>
<br>
<div ng-repeat = "option in question.options" class = "likert">
<input type = "radio" name = "{{question._id}}" value = "{{option.value}}" ng-model = "question.userChoice"> {{option.text}}</input>

</div>
</div>
<button ng-click = "edit = !edit; currentQuestion = question">Edit</button>
<div ng-show = "edit">
<br>
<input type = "text" ng-model = "title" >Title</input>
<br>
<input type = "text" ng-model = "type">Type</input>
<br>
<input type = "text" ng-model = "key">Key</input>
<br>
<input type = "text" ng-model = "op1">Option 1</input>
<br>
<input type = "text" ng-model = "op2">Option 2</input>
<button ng-click = "editQuestion(); edit = false">Submit</button>
</div>
</div>
</div>

bits pertinents de formCtrl:

$scope.currentQuestion;
$scope.question;
$scope.title;
$scope.key;
$scope.type;

$scope.editQuestion = function(){
console.log($scope.currentQuestion);
if($scope.title == "" || !$scope.title){
$scope.title = $scope.currentQuestion.title;
}

if($scope.key == "" || !$scope.key){
$scope.key = $scope.currentQuestion.key;
}

if ($scope.type == "" || !$scope.type){
$scope.type = $scope.currentQuestion.type;
}

$scope.question.title =$scope.title;
$scope.question.key = $scope.key;
$scope.question.type = $scope.type;

questions.update($scope.question);
}

Actuellement, $ scope.currentQuestion ne semble jamais avoir été assigné; c'est indéfini. Comment procéder pour définir currentQuestion dans sa portée enfant?

Réponses:

0 pour la réponse № 1

Je simplifie peut-être trop les choses, mais je crois que l’initialisation de $ scope.currentQuestion résoudra votre problème, comme dans:

$scope.currentQuestion = {} ; // or load it from somewhere??