title: AngularJS : directive does not update scope after $http response in parent scope
body: <p>I got this directive:</p>
  
  <pre><code>.directive('studentTable', [function() {
      return {
          restrict: 'A',
          replace: true,
          scope: {
              students: "=",
              collapsedTableRows: "="
          },
          templateUrl: 'partials/studentTable.html',
          link: function(scope, elem, attrs) {
              ...
          }
      }
  }
  </code></pre>
  
  <p>Template:</p>
  
  <pre><code>  &lt;table class="table"&gt;
          &lt;thead&gt;
              &lt;tr&gt;
                  &lt;th&gt;&lt;b&gt;Name&lt;/b&gt;&lt;/th&gt;
                  &lt;th&gt;&lt;b&gt;Surname&lt;/b&gt;&lt;/th&gt;
                  &lt;th&gt;&lt;b&gt;Group&lt;/b&gt;&lt;/th&gt;
              &lt;/tr&gt;
          &lt;/thead&gt;
          &lt;tbody&gt;
              &lt;tr ng-repeat="student in students track by $index"&gt;
                  &lt;td&gt;{{ student.name }}&lt;/td&gt; 
                  &lt;td&gt;{{ student.surname }}&lt;/td&gt;
                  &lt;td&gt;{{ student.group }}&lt;/td&gt;
              &lt;/tr&gt;
          &lt;/tbody&gt;
      &lt;/table&gt;
  </code></pre>
  
  <p>Use directive in my html like this:</p>
  
  <pre><code>&lt;div student-table students="students" 
      collapsedTableRows="collapsedTableRows"&gt;&lt;/div&gt;
  </code></pre>
  
  <p>And the parent controller:</p>
  
  <pre><code>.controller('SchoolController', ['$scope', 'User', function($scope, User){
      $scope.students = [];
      $scope.collapsedTableRows = [];
  
      $scope.search = function(value) {
          if(value) {
              var orgId = $state.params.id;
              var search = User.searchByOrg(orgId, value);
  
              search.success(function (data) {
                  $scope.students = data;
                  $scope.collapsedTableRows = [];
                  _(data).forEach(function () {
                      $scope.collapsedTableRows.push(true);
                  });
  
              });
          }
      }
  }])
  </code></pre>
  
  <p>Now at the beginnig, the table is empty, because no users in students array. After I click search, and get list of students object, I put them to scope variable, but the directive does not update, neither it find change in model (<code>scope.$watch('students',...</code>). What am I missing? </p>
  
  <p>P.S. If I simulate the data using <code>$httpBackend</code>, directive works as it should.</p>