title: angular.dart - watching controller for shadow DOM element ready?
body: <p>I know your NgComponent can extend NgShadowRootAware...but I couldn't seem to get the same affect with my controller.</p>
  
  <p>I watched a variable in the scope hoping that things would be ready by then, but they weren't. The problem is I have my template hiding HTML until an async call for data is complete. Then it shows the HTML populated with data from the API call. I want to bind an event listener to an input element within that hidden HTML.</p>
  
  <p>I suppose I could create another component, but I feel that it's a little silly given it's specifically within the controller, related to the controller, not going to be anywhere else, and is only one tiny input element.</p>
  
  <p>I did an empty $watch and just kept trying to set the input element and sure it's there on the last digest, but that seems a bit inefficient. Is this my only option?</p>
  
  <p>Here's some code:</p>
  
  <pre class="lang-dart prettyprint-override"><code>&lt;div ng-if="!ctrl.assetsLoaded"&gt;
    &lt;span class="loading-message"&gt;{{ctrl.message}}&lt;/span&gt;
  &lt;/div&gt;
  
  &lt;div ng-if="ctrl.assetsLoaded"&gt;
  
    &lt;nav id="controls"&gt;
      &lt;div class="asset-actions"&gt;
        &lt;a href="#/" class="home-folder"&gt;&lt;/a&gt;
        &lt;div class="folder-path"&gt;...&lt;/div&gt;
  
        &lt;span class="create-asset choose-file"&gt;
          &lt;input type="file" id="single-file" name="file" ng-model="singleFile" /&gt;
        &lt;/span&gt;
        &lt;a href="#/addFolder" class="create-folder"&gt;&lt;/a&gt;
        &lt;search-asset name-filter-string="ctrl.nameFilter" class="search-asset"&gt;&lt;/search-asset&gt;
      &lt;/div&gt;
  </code></pre>
  
  <p></p>
  
  <p>Essentially, I'm after the input element inside the ng-if. I want to watch when that changes. I'm now thinking ng-model (instead of Dart's event listener), but I'm just running into confusion coming from AngularJS. </p>