title: Multiple Controllers, only ng-view affected
body: <p>I have a page which uses two controllers, <code>SearchController</code> and <code>ProductController</code>, that are both part of one app. They both sit on the main page, and are called using <code>ng-controller</code>. I have a route set up for when i click 'search' and this loads an <code>ng-view</code> which uses the <code>ProductController</code>. This loads up fine, but the problem I'm having is that the <code>div</code> with <code>ProductController</code> already on the page doesn't get affected when search is clicked.</p>
  
  <p><strong>Here is the plunker: <a href="http://plnkr.co/edit/LnsL0M3KczBmeKsS9uDb?p=preview" rel="nofollow">http://plnkr.co/edit/LnsL0M3KczBmeKsS9uDb?p=preview</a></strong></p>
  
  <p><strong>HTML</strong> - I have a dummy select box. The important part here is the second div with ProductController. This is meant to show up if $scope.products.length > 0. When search is clicked, $scope.products inside of ProductController is filled, but this box isn't affected. </p>
  
  <pre><code>&lt;div ng-controller="SearchController" class="ng-cloak"&gt;
    &lt;div class="search-form"&gt;
      &lt;select ng-model="search.category"&gt;
        ...
      &lt;/select&gt;
      &lt;button class="btn btn-primary" ng-disabled="search.category == 0" ng-click="doSearch()"&gt;Search&lt;/button&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  
  &lt;div ng-controller="ProductController" class="ng-cloak"&gt;
    &lt;div class="criteria" ng-show="products.length &gt; 0"&gt;
      &lt;div&gt;Category: {{search.category}}&lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  
  &lt;div ng-view&gt;&lt;/div&gt;
  </code></pre>
  
  <p>Inside my ProductController i load a products.json file that just brings back everything. So I would think that now that $scope.products.length > 0, the above div should show. But it doesn't. What am I doing wrong?</p>
  
  <pre><code>  $http.get('products.json')
      .success(function(data) {
        $scope.products = data[0].products;
        sessionService.loadProducts(data[0].products);
        console.log('JSON LOADED-------------');
        console.log('products.length: ', $scope.products.length);
      });
  </code></pre>
  
  <p>I'm using console.logs so you can follow what's happening a little better.</p>
  
  <p>Also, once you click search. If you click search again, it doesn't run anything. I'm assuming this is because it's already ran the location.path function. But why does this happen and how can I make it search again?</p>