title: How to wait for binding in Angular 1.5 component (without $scope.$watch)
body: <p>I'm writing an Angular 1.5 directive and I'm running into an obnoxious issue with trying to manipulate bound data before it exists.</p>
  
  <p>Here's my code:</p>
  
  <pre><code>app.component('formSelector', {
    bindings: {
      forms: '='
    },
    controller: function(FormSvc) {
  
      var ctrl = this
      this.favorites = []
  
      FormSvc.GetFavorites()
      .then(function(results) {
      ctrl.favorites = results
      for (var i = 0; i &lt; ctrl.favorites.length; i++) {
        for (var j = 0; j &lt; ctrl.forms.length; j++) {
            if (ctrl.favorites[i].id == ctrl.newForms[j].id) ctrl.forms[j].favorite = true
        }
       }
      })
  }
  ...
  </code></pre>
  
  <p>As you can see, I'm making an AJAX call to get favorites and then checking it against my bound list of forms.</p>
  
  <p>The problem is, the promise is being fulfilled even before the binding is populated... so that by the time I run the loop, ctrl.forms is still undefined!</p>
  
  <p>Without using a $scope.$watch (which is part of the appeal of 1.5 components) how do I wait for the binding to be completed?</p>