title: Setting value on dynamic radio button with ng-repeat
body: <p>I have an issue setting the value in a dynamically created radiobutton group to an object. 
  When the object specified in ng-model is not null, the radio button isnt checked, and clicking any radio doesnt trigger the attached $watch. However, if object in ng-model is null when loading, the $watch seems to work fine. Now, if i change the value of ng-model to a string it works fine, the issue is that i need the entire object. Basically each model is a question and when the question is changed in the UI the entire model object is sent to a webservice.</p>
  
  <p>Data (Value is set - doesnt work)</p>
  
  <pre><code>{
      "__type": "RadioQuestion:#MyProject.Model.Entities",
      "Id": "ff3234ba-40fe-43e3-9457-ea5e3b5ae5a7",
      "Question": "Question goes here",
      "RangeMaxText": "Very likely",
      "RangeMinText": "Not Likely",
      "Title": "Question headline",
      "DefaultValue": {
          "Id": "id-for-no-value",
          "Name": "Nej"
      },
      "PossibleValues": [
          {
              "Id": "id-for-yes-value",
              "Name": "Yes"
          },
          {
              "Id": "id-for-no-value",
              "Name": "No"
          }
      ],
      "Question": "Hows it hanging?",
      "Value": {
          "Id": "id-for-no-value",
          "Name": "Nej"
      }
  }
  </code></pre>
  
  <p>Markup</p>
  
  <pre><code>&lt;h4&gt;{{question.Question}}&lt;/h4&gt;
  &lt;label data-ng-repeat="pValue in question.PossibleValues" for="{{question.Id}}-{{pValue.Id}}"&gt;
      &lt;input
          id="{{question.Id}}-{{pValue.Id}}"
          name="radio-for-{{question.Id}}"
          type="radio"
          data-ng-value="pValue"
          data-ng-model="question.Value" /&gt;
          {{pValue.Name}}
  &lt;/label&gt;
  </code></pre>
  
  <p>Data (Value is null - works)</p>
  
  <pre><code>{
      "__type": "RadioQuestion:#MyProject.Model.Entities",
      "Id": "ff3234ba-40fe-43e3-9457-ea5e3b5ae5a7",
      "Question": "Question goes here",
      "RangeMaxText": "Very likely",
      "RangeMinText": "Not Likely",
      "Title": "Question headline",
      "DefaultValue": {
          "Id": "id-for-no-value",
          "Name": "Nej"
      },
      "PossibleValues": [
          {
              "Id": "id-for-yes-value",
              "Name": "Yes"
          },
          {
              "Id": "id-for-no-value",
              "Name": "No"
          }
      ],
      "Question": "Hows it hanging?",
      "Value": null
  }
  </code></pre>
  
  <p>This is the watch function:</p>
  
  <pre><code>this.$scope.questions.forEach((question) =&gt; {
      this.$scope.$watch(
          () =&gt; { return question; },
          (newVal, oldVal) =&gt; this.updateQuestion(newVal, oldVal),
          true
      );
  });
  </code></pre>