So I'm trying to set some object values via the values in an array.
$scope.ngmodelfield = {};
$scope.categories = [{
cat: "Cat 1a",
translationTag: "OccupationalSafety"
}, {
cat: "Cat 1b",
translationTag: "IndustrialSafety"
}, {
cat: "Cat 2",
translationTag: "Growth"
}, {
cat: "Cat 3",
translationTag: "Modifications"
}, {
cat: "Cat 4",
translationTag: "Maintenance"
}, {
cat: "Cat 5",
translationTag: "Renewals"
}, {
cat: "Cat 6",
translationTag: "Environment"
}, {
cat: "Cat 7",
translationTag: "IT"
}, {
cat: "Cat 8",
translationTag: "ResearchAndDevelopment"
}, {
cat: "Cat 9",
translationTag: "LegalRequirements"
}];
So I'm iterating over the objects the following way:
<div class="row" ng-repeat="cat in categories track by $index">
<div class="col s12">
<div class="col s4">
{{cat.cat}} - {{cat.translationTag}}
</div>
<div class="col s8">
<textarea ng-model="ngmodelfield.[cat.translationTag]" class="materialize-textarea"></textarea>
</div>
</div>
</div>
Now I want to link the first textarea to ngmodelfield.OccupationalSafety
, the second to ngmodelfield.IndustrialSafety
and so on.
But this doesn't seem to work as shown here: http://plnkr.co/edit/WKCLjzmLy1IrwEmQPMRH?p=preview
Just change:
<div class="col s8">
<textarea ng-model="ngmodelfield.[cat.translationTag]" class="materialize-textarea">{{cat.cat}}</textarea>
</div>
to:
<div class="col s8">
<textarea ng-model="ngmodelfield[cat.translationTag]" class="materialize-textarea">{{cat.cat}}</textarea>
</div>
That is, remove the dot from ng-model="ngmodelfield.[cat.translationTag]"
.
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments