title: AngularJS ng-repeat track by not selecting initial value
body: <p>Still fairly new to Angular, so please bear with me.  I have a radio button list that I generate using ng-repeat.  I am storing off the selected object in a separate variable on the same controller.</p>
  
  <p>The selected object is being set with a different instance of one of the objects in the list.  I thought that since the ID is the same, that using the "track by" expression would select the correct item in the list, but it isn't.
  If I select a radio button, it will update the selected variable as expected.</p>
  
  <p>Am I doing something wrong? Is this a bad pattern?</p>
  
  <pre><code>&lt;form name="myForm" ng-controller="MyCtrl"&gt;
    &lt;label ng-repeat="person in people track by person.id"&gt;
        &lt;input type="radio" ng-model="$parent.selected" ng-value="person" /&gt;
        {{person.name}}
    &lt;/label&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p>Here's my controller:</p>
  
  <pre><code>angular.module('ngAppDemo', []).controller('MyCtrl', MyCtrl)
  
  function MyCtrl($scope) {
      $scope.selected = { id: 2, name: "Paul" };
      $scope.people = [
          { id: 1, name: "John" }, 
          { id: 2, name: "Paul" }, 
          { id: 3, name: "George" }, 
          { id: 4, name: "Frank" }
      ];
  }
  </code></pre>
  
  <p>Here's my <a href="http://plnkr.co/edit/rK029W6qCEtkFbkIHSBb" rel="nofollow" title="Plunker">Plunker</a></p>
  
  <p><strong>Update:</strong><br>
  I recognize the fact that if I use an object from the same collection that it will work.  However, this isn't the way I am currently set up.  The instance that I am using for "selected" is coming in from a different function and thus did not originate from the given list.</p>