在AngularJS中使用自定义指令进行模板化是否正确?

时间:2014-07-03 00:42:12

标签: javascript angularjs dom angularjs-directive

我的AngularJS应用中的每个页面都有一个导航栏和页脚。将这两者放入自定义指令中以便能够在不更新每个html文件的情况下更改它们是不是一个好主意?

1 个答案:

答案 0 :(得分:2)

这当然是一种有效的方法,并且比在各处重复自己要好得多。如果导航栏和页脚不依赖于任何$ scope绑定,您甚至可以使用ng-include指令创建模板并加载它们。

(可以说)更好的方法是创建嵌套视图。默认路由器在这方面有点受限,但ui-router非常适合这种情况。 These slides here做得很好,解释了ui-router如何提供帮助。

嵌套视图方法是创建一个由三个命名子视图组成的顶级应用程序视图。

Container View
|
| - - NavBar View
|
| - - Main View
|
| - - Footer View

您甚至可以稍后通过引入侧边栏视图等对此进行扩展。