我的角度应用程序中有一个顶级菜单。由于菜单是静态的,因此不包含在ng-view中。 我可以将菜单源保留在index.html中,但为了更清晰的标记,我决定将其拉成部分。
现在我的问题:使用ng-include和单独的控制器或实现自定义指令是否更好?
我真的没有重复使用代码所以我认为ng-include会很好,但是指令会更加感觉更多"角度方式" ...
答案 0 :(得分:1)
ng-include可以为您的应用程序加载部分视图(我假设您的index.html是一个带有一个ng-view部分的母版页。)
加载的每个部分都可以拥有自己的控制器(例如,如果你有一个带有'热门新闻'的div从数据库中取出东西,你可以使用ng-include包含部分视图,让新视图有一个ng-controller指令,它将执行ajax调用以从db中获取东西。
只有在需要额外的功能时才会添加指令 如果你可以没有它,那么为什么要打扰呢?
答案 1 :(得分:1)
更好的做法是使用ng-include和单独的控制器或 实现自定义指令呢?
最佳做法总是主观的。
我采用了这种方法:
答案 2 :(得分:1)
我会认真地建议查看ui-router(https://github.com/angular-ui/ui-router),它为您提供了极大的灵活性来设置具有不同部分(主要,左导航,内容)的布局页面。使用Angular设置页面结构是一种更灵活的方法,这样您就不必重复自己。它也非常强大,允许您根据应用程序中的人员位置精确控制页面的不同部分。
文档在解释它方面做得相当不错,但尝试着重于讨论多个命名视图的领域。
ng-include可以正常工作,但是如果你想要更多控制,ui-router就是你的选择。