title: Returning a promise from isolate scope directive with `&` binding
body: <p><a href="http://plnkr.co/edit/Oc2OjgMAaXTrmpqdeZzp?p=preview" rel="nofollow noreferrer">In this plunk</a> I have an array of directives that return a promise mapped to a function in the controller, but <code>$scope.run.then</code> is <code>undefined</code>. What's wrong with this code? </p>
  
  <p>HTML</p>
  
  <pre><code>  &lt;div ng-repeat="item in items"&gt;
        &lt;div dir1 x="item.x" on-complete="item.onComplete()"&gt;&lt;/div&gt;
    &lt;/div&gt;
  </code></pre>
  
  <p>Javascript</p>
  
  <pre><code>angular.module("app", [])
  
  .controller('ctl', function($scope) {
  
    $scope.run.then(function(response){
        alert(response);
    });
  
    $scope.items = [{x: 1, onComplete: $scope.run},
                   {x: 2, onComplete: $scope.run},
                   {x: 3, onComplete: $scope.run}];
  
  })
  
  .directive('dir1', function ($timeout,$http) {
      return {
          restrict: 'EA',          
          scope: {
              x: '=',
              onComplete: '&amp;'         
          },
          link: function (scope, element, attrs) { 
              scope.onComplete = $http.get('page.html');
          }
      };
  })
  </code></pre>