<!DOCTYPE html>
<html>

<head>
  <script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
  <script src="http://code.angularjs.org/1.2.10/angular.js"></script>
  <script src="http://angular-ui.github.io/ui-router/release/angular-ui-router.js"></script>

  <script>
    var myApp = angular.module('myApp', ['ui.router']);
    var MainCtrl = function($scope, $state){
      $state.transitionTo("home");
      $scope.search = function(){
        $state.transitionTo("searchResults",{
            searchText: $scope.searchText
          },{
            reload: true,
            notify: true
        });
      }
    }
    myApp.config(function($stateProvider, $urlRouterProvider){
      $stateProvider
        .state("home",{
            url: "/", 
            templateUrl: "home.html",
            controller: function($scope,$state){
              $scope.page = "Home";
            } 					
          })
          .state("searchResults",{
            url: "/search-results/:searchText",	
            templateUrl: "search-results.html",
            controller: function($scope,$state,$stateParams){
              $scope.page ="Search Results";
              $scope.searchText = $stateParams.searchText;
            }
          })
    });
  </script>
</head>

<body ng-app="myApp">
  <div ng-controller="MainCtrl">
    <div>
      <a href="#/">Home</a> | 
      <input type="text" ng-model="searchText">
      <button ng-click="search()">Search!</button>  
    </div>
    <hr/>
    <div ui-view>
    
    </div>    	
  </div>
</body>

</html>
AngularJS & ui-router
--------------------
Force controller refresh

Example shows a simple nav bar with a search input. When user presses search,
regardless if user is on the search results page, the search results controller
should fire again to allow redraw and resubmission of search params.

Using ui-router transitionTo
<div>
  <h3>{{page}}</h3>
  <span ng-show="searchText.length">You are searching for "{{searchText}}"</span>
  <span ng-show="!searchText.length">No search text was entered</span>
</div>
<div>
	<h3>{{page}}</h3>
  	<p>Enter some text in search box and press submit.</p>
  	<p>This example shows how to resubmit or refresh a controller after you are
  	already on that page.</p>
</div>