title: How to wrap route's business logic to forward to other routes?
body: <p>I have a ui-router route <code>front</code></p>
  
  <p>My intention is that when the app goes to <code>front</code>, front will use some business logic to redirect to another route: <code>front.register</code>, <code>front.login</code>, <code>front.loginFirstTime</code>, etc.</p>
  
  <p>This works the first time I visit the route (front -> front.register), but not the second time.  </p>
  
  <p><code>front</code> -(auto)> <code>front.register</code> -(click)-> <code>front.info</code> -(click)-> <code>front</code> -!-> <code>front.register</code></p>
  
  <p>So the controller isn't reloaded on every go().  Ok, but how do I do this?  </p>
  
  <p>How can a route wrap business logic to forward to other routes?</p>
  
  <pre><code>angular.module('wmw').controller('Front', ['$scope', 'Global', 'User', '$state',
    function($scope, Global, User, $state) {
      $scope.Global = Global;
      $scope.User = User;
  
      console.log('only run on first visit');
  
      User.loadData()
      .then(function(routerState) {
        $state.go('front.'+routerState);
      });
    }]
  );
  </code></pre>
  
  <p>User.loadData() returns a promise.  .then() runs when the data has been loaded.  <code>routerState</code> is the next place to visit.  Unfortunately this code is only run once.</p>