我有很多需要渲染到单个页面的html模板。有没有办法一个接一个地渲染每个单独的模板,这样用户在导航页面之前不必等待所有模板?
每个部分都是模板化的,我正在使用指令在主html文件中访问它们。每个模板也访问一个数据库,所以我认为这会减慢渲染过程。我想我要问的是,是否有一种角度来访问数据并渲染前几个模板并让用户导航页面,而其余模板正在渲染过程中。
<company-header ctrl='infoCtrl' class='company-fixed-header'></company-header>
<div class="wrap">
<div class='dynamic-container'>
<div class='content'>
<section id='details'>
<company-Identifiers-List ctrl='infoCtrl'></company-Identifiers-List>
<contact-Information-List ctrl='infoCtrl'></contact-Information-List>
<company-Information-List ctrl='infoCtrl'></company-Information-List>
<regulatory-Filing-List ctrl='infoCtrl'></regulatory-Filing-List>
<securities-Manuals ctrl='infoCtrl'></securities-Manuals>
</section>
<section id="securities">
<security-info ctrl='infoCtrl'></security-info>
</section>
</div>
</div>
</div>
答案 0 :(得分:1)
有一种不同的方法可以解决您的问题,即在$ templateCache(https://docs.angularjs.org/api/ng/service/ $ templateCache)中加载您的部分内容。这样,您就不必在需要时为每个视图发出AJAX请求,因此几乎可以立即加载指令的内容。
您可以执行以下操作:
$templateCache.put('company-identifiers-list.html', '<div>your content</div>');
$templateCache.put('company-information-list.html', '<div>your content</div>');
此外,如果您正在使用Grunt,则可以使用grunt-angular-templates自动执行此任务。