我有一个Angular应用程序,目前使用$routeProvider
将路由映射到控制器和模板。
某些路由呈现项目集合,目前它只包含每个项目的另一个模板,访问父模板的控制器。
主要路线模板......
<div ng-repeat="item in vm.collection">
<div ng-include="'/views/item.html'"></div>
</div>
然而,随着这个应用程序的增长,感觉像包含项目视图应该有自己的控制器,与收集控制器分开,允许它在整个应用程序中更容易重用。
最好的方法是什么?
答案 0 :(得分:0)
如果您的功能可以被视为组件,则应使用服务(如果它没有UI)或指令(如果它有一个UI)。
如果您要分离的功能不是通用的实现可重用组件,则可以创建控制器并将其与ng-controller
指令一起使用。< / p>
使用控制器的另一种方法是切换到 UI-Router ,它允许嵌套视图。