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');
}