为我的angular页面创build复杂的页眉和页脚

我们有一个有30多个不同页面的网站。

所有页面都有相同的页眉和页脚。

页眉和页脚每个包含大量的逻辑并且调用nodejs来获取数据。

我将如何在Angular中以一种聪明的方式去做这件事。 现在有太多的复制/粘贴,我一次又一次看到相同的代码。

我应该写一个页眉/页脚控制器,然后在每个页面上打电话给他们?

或者有没有办法设置页眉/页脚一次,并保持caching所有页面(他们很less更改)?

您可以使用指令,根据您提供的某些逻辑返回页脚或页眉的特定模板。

示例代码

var app = angular.module('myApp', []); app.directive('footer', function() { return { restrict: 'E', replace: true, templateUrl: function(){ return '/app/templates/footer.html'; } }; }); 

restrict是定义指令types,它可以是A(Attribute),C(Class),E(Element)和M(coMment),假设指令的名字是Doc:

 Type : Usage A = <div Doc></div> C = <div class="Doc"></div> E = <Doc> data="book_data"></Doc> M = <!--directive:Doc -->