title: Angularjs $setPristine not working with controller as syntax
body: <p>$setPristine works alright when referenced with $scope but doesn't seem to work with 'controller as syntax'</p>
  
  <p><strong>In View:</strong></p>
  
  <pre><code>&lt;h2&gt;With Controller as syntax&lt;/h2&gt;
  &lt;div ng-controller="FirstCtrl as first"&gt;
      &lt;form name="form1" id="form" novalidate&gt;
          &lt;input name="name" ng-model="first.data.name" placeholder="Name" required/&gt;
          &lt;button class="button" ng-click="first.reset()"&gt;Reset&lt;/button&gt;
      &lt;/form&gt;
      &lt;p&gt;Pristine: {{form1.$pristine}}&lt;/p&gt;
      &lt;p&gt; &lt;pre&gt;Errors: {{form.$error | json}}&lt;/pre&gt; &lt;/p&gt;
  &lt;/div&gt;
  &lt;hr&gt;
  
  &lt;h2&gt;With $scope&lt;/h2&gt;
  &lt;div ng-controller="SecondCtrl"&gt;
      &lt;form name="form1" id="form" novalidate&gt;
          &lt;input name="name" ng-model="data.name" placeholder="Name" required/&gt;
          &lt;button class="button" ng-click="reset()"&gt;Reset&lt;/button&gt;
      &lt;/form&gt;
      &lt;p&gt;Pristine: {{form1.$pristine}}&lt;/p&gt;
      &lt;p&gt; &lt;pre&gt;Errors: {{form.$error | json}}&lt;/pre&gt; &lt;/p&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p><strong>In app.js:</strong> </p>
  
  <pre><code>var app = angular.module('plunker', []);
  
  app.controller('FirstCtrl', function() {
    'use strict';
    var vm = this;
    vm.data = { "name": ""};
  
      vm.reset = function() {
        vm.data.name = "";
        vm.form1.$setPristine();
      }
  });
  
  app.controller('SecondCtrl', function($scope) {
    'use strict';
    $scope.data = { "name": ""};
  
      $scope.reset = function() {
        $scope.data.name = "";
        $scope.form1.$setPristine();
      }
  });
  </code></pre>
  
  <p>Here is the plunker: <a href="http://plnkr.co/edit/VcgZx3?p=preview" rel="noreferrer">http://plnkr.co/edit/VcgZx3?p=preview</a></p>