title: Delaying AngularJS route change until model loaded to prevent flicker
body: <p>I am wondering if there is a way (similar to Gmail) for AngularJS to <strong>delay showing a new route until after each model and its data has been fetched</strong> using its respective services.</p>
  
  <p>For example, if there were a <code>ProjectsController</code> that listed all Projects and <code>project_index.html</code> which was the template that showed these Projects, <code>Project.query()</code> would be fetched completely before showing the new page.</p>
  
  <p>Until then, the old page would still continue to show (for example, if I were browsing another page and then decided to see this Project index).</p>