title: ngModel is not correctly updated in Internet Explorer - AngularJS 1.3
body: <p>Hello I have strange issue that only appears in IE 11 with angular 1.3.</p>
  
  <p>I have a directive which allows me to store <code>Object</code> as <code>ngModel</code> value of <code>input</code> element. It works without any problem with AngularJS 1.2, but it doesn't work with AngularJS 1.3 (only in the Internet Explorer). </p>
  
  <p>It is simply code:</p>
  
  <pre><code>elem.on('input', function(){
     var val = elem.val();
      ngModel.$setViewValue({
          'sampleData': new Date().getTime(),
          'value': val
      });
      scope.$apply();
  });
  </code></pre>
  
  <p>When I type text in IE, the input sets correct object as model value for some milliseconds but next changes it into string. In other browsers it updates <code>ngModel</code> correctly.</p>
  
  <p>You can see this strange behavior there:</p>
  
  <p>AngularJS 1.2: <a href="http://jsfiddle.net/aartek/e6Lvpqj3/" rel="nofollow">http://jsfiddle.net/aartek/e6Lvpqj3/</a> (works in IE, Chrome, and Firefox),</p>
  
  <p>AngularJS 1.3: <a href="http://jsfiddle.net/aartek/mvx9dbyu/2/" rel="nofollow">http://jsfiddle.net/aartek/mvx9dbyu/2/</a> (<strong>doesn't work in IE 11</strong>, works in Chrome and Firefox)</p>
  
  <p>What is the reason and how can I fix it?</p>
  
  <p>It is my whole directive:</p>
  
  <pre><code>app.directive('myInput',function(){
      return{
          restrict: 'A',
          require: 'ngModel',
          scope: {},
          priority: 1,
          link: function(scope, elem, attrs, ngModel){
              elem.off('input');
              elem.off('change');
  
              ngModel.$render = function(){
                  var model = {
                      'sampleData': 'sampleData',
                      value: ''
                  }                                   
                  ngModel.$setViewValue(model);
                  elem.val(model.value);
              }
  
              elem.on('input', function(){
                 var val = elem.val();
                  ngModel.$setViewValue({
                      'sampleData': new Date().getTime(),
                      value: val
                  });
                  scope.$apply();
              });
          }
      }
  });
  </code></pre>