title: Use a $formatter on a object typed ngModel value with angular 1.2 worked, but not with version 1.3
body: <p>This code worked with angular-1.2.26, but not with angular-1.3.0.rc5 (or any 1.3.x versions I tried).</p>
  
  <p>I found this issue <a href="https://github.com/angular/angular.js/issues/9218" rel="nofollow">https://github.com/angular/angular.js/issues/9218</a> on angular's github, but I am not familiar with github interface and I cannot figure out if the bug is confirmed or if the behavior is expected, if it has been fixed or not; and if yes, what version should I take.</p>
  
  <p>JSFiddles : </p>
  
  <ul>
  <li><a href="http://fiddle.jshell.net/msieurtoph/jqL301zz/" rel="nofollow">with angular v1.2.26, ngModel as object</a></li>
  <li><a href="http://fiddle.jshell.net/msieurtoph/brnz04pp/" rel="nofollow">with angular v1.3.0.rc5, ngModel as object</a></li>
  </ul>
  
  <p>For each, I expect to have 'my label' in the input when loading the page. It works for the first one, but not for the second.</p>
  
  <p>And look at the console to see what value is passed to the formatter.</p>
  
  <p>HTML : </p>
  
  <pre><code>&lt;div ng-controller="ctrl as c"&gt;
      &lt;input my-dir ng-model="c.foobar" /&gt;
      &lt;pre&gt;{{c.foobar | json}}&lt;/pre&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>JS : </p>
  
  <pre><code>var app = angular.module('app', []);
  
  app.controller('ctrl', function(){
      this.foobar = {
          value : 'my value',
          label : 'my label'
      }
  })
  
  
  .directive('myDir', function(){
      return {
          restrict :'A',
          require:'ngModel',
          link : function(scope, elt, attrs, modelCtrl){
  
              // conversion "view -&gt; model"
              modelCtrl.$parsers.unshift( function(value){
                  console.log('Value:', value);
                  return {label:value, value:value};
              })
  
              // conversion "model -&gt; view"
              modelCtrl.$formatters.unshift(function formatter(modelValue){
                  console.log('modelValue:', modelValue);
                  return modelValue.label;
              })
          }
      }
  })
  </code></pre>