title: Angularjs full cache / context preservation
body: <p>I'm new to Angularjs and liking the general idea. Some time ago I build a "SPA" application with just simple javascript caching of IFrames. The result was that the full context of the iframe was preserved and not reloaded when returning to a tab. It was simple hidden and then shown the frames. It Seems that pretty much the same can be done with divs. The difference being that because the context of the div is in the active page's dom there is ample opportunity of duplicate element ids especially with data entry forms. Div 1 has company "name" div 2 has employee "name" both are id='name'. Separate Iframes resolving this issue. The Angular approach seems to be to avoid this issue by forcing a reload (save/restore) of the context by maintaining only the "current" context. This is really a pretty weak approach I would say and far from user friendly. Yes the Iframe approach is even less SEO friendly but that's not important for this consideration.</p>
  
  <p><strong>My question is</strong>: does any one know of a framework or extension to Angular that more intelligently handles cachinging of the views so that a view could be just a div or an Iframe as per intelligent construction but preserving context? Scroll down on view1 (a div), tab to view2 (iframe) and begin editing name as "fre" tab back to view1 and continue to scroll down where you left off then go back to view2 and finish name "fred flinstone" , go to tab 3, another iframe, and begin entering company name "stone ..." tab back to 2 and enter dependents for fred. All without loosing context anywhere at any time? </p>
  
  <p>Perhaps the better question would be how easy is it to apply Dependency Inject into Angularjs for the specific purpose of overriding the view load process with a cache substitute. Perhaps instead of replacing the content of view with "abc.html" see if abc.html is in the cache of div id's already loaded and if it is then turn the active divid off and turn abc's divid on otherwise load it into a new div with a unique id associated with abc.html and make that the active div within the view div. Perhaps with an attribute on the tab process that identifies whether to load abc.html as an iframe or just a plane div. If it's an Iframe then it could have it's own angular sub world within it.</p>