Angular Array Binding
HTML
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.1.0/css/bootstrap-combined.min.css">
<script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.1.0/js/bootstrap.min.js"></script>
<script src="http://code.angularjs.org/1.1.0/angular.min.js"></script>
<script src="http://underscorejs.org/underscore-min.js"></script>
<div ng-controller="FieldCtrl">
<pre>Data: {{data | json}}</pre>
<label>Data Name:</label>
<input ng-model="data.name"/>
<label>Bound to F1:</label>
<input ng-model="fieldF1.value"/>
<label>Bound to F2:</label>
<input ng-model="fieldF2.value"/>
{{fieldValue('F1')}}
</div>
JavaScript
// parent/child scopes
var myApp = angular.module('myApp', []);
function FieldCtrl($scope) {
$scope.data = {
name: 'Foo Bar',
fields: [
{ field: "F1", value: "1F"},
{ field: "F2", value: "2F"},
{ field: "F3", value: "3F"}
]
};
function fieldValue(fieldName) {
// Find the field the parameter is referring to and return its value.
for (var i = 0; i < $scope.data.fields.length; i++) {
if ($scope.data.fields[i].field == fieldName) {
return $scope.data.fields[i];
}
}
}
$scope.fieldF1 = fieldValue('F1');
$scope.fieldF2 = fieldValue('F2');
}