I have big forms with lots of data, so I'd like tabs with chunks of data for each tab.
I'd like tab content to be lazy loaded on click of the tab title, and it then doesn't need to be reloaded again when selected again later.
I think this example goes into the direction of what I want: angular-ui tabs loading template in tab-content
but this seems to load a static template:
<tabs>
<pane active="pane.active"
heading="{{pane.title}}"
ng-repeat="pane in panes">
<div ng-include="pane.content"></div>
</pane>
</tabs>
How can I load the pane's content dynamically with $http.get()? Note: this is already a page loaded via ng-view routing, so I can't do nested routing.
EDIT: The content is quite different for every tab, so ideally I'd provide a function and a template for every tab or something like that...
I guess angular-ui is a good way to go about this?
Another approach is to use dynamic
ng-include
:Then the controller has this:
Was curious myself how to make tabs load via ajax. Here's a little demo I worked out.
Tabs have a
select
attribute that triggers when selected. So I used following for a tab:Controller:
Would move the cache to a service so if user switches views, and returns, data will still be in service cache
DEMO