Create ng-model dynamically with {{expression}} doesn't work?

angularjs, angularjs-model, javascript

Solution

formQuickView[question.label].$error.required

This is regular JavaScript syntax. You want to access the property of `formQuickView` with the name defined by `question.label`.

Update

Somehow I missed the main point, the `ng-model`expression. Basically you do the same thing here. You have two choices (technically only one):

- Add an object to your scope, say `questions`, then use `questions[question.label]`.

- When you have a form, then give it a name and an object is added automatically. E.g. `<form name="questions" ....` and the same as above.

Problem

I am working on an angular project where I need to create a form based on an array of questions. I would like to create `ng-model` for each question in the array. So I have come up with something like the following, but it is not working. ``` <div class="form-group" data-ng-repeat="question in questions"> <label for="{{question.label}}" class="col-md-2 control-label"> {{question.label}}: </label> <div class="col-md-10"> <input type="text" class="form-control" name="{{question.label}}" data-ng-model={{question.label}} required /> <span class="error" data-ng-show="formQuickView.{{question.label}}.$error.required"> Required! </span> </div> </div> ``` Could someone help me out for this one ? Thanks heaps in advance.

Original source