我的应用需要拥有管理复杂模型的组件的多个实例。
显示模型和UI / DOM逻辑,包括带有子指令的模板我已经创建了一个指令,
对于每个这个模型/指令,我还需要一些业务逻辑,比如操作模型/从服务器检索其他数据等等。我觉得这不在指令中。
示例可以是在屏幕上显示10个可见待办事项列表的应用程序。
我的问题是,如果一个控制器实例在每个组件上都是一个好主意,那么指令和控制器是从同一个元素启动并共享相同的范围来管理单个模型的?可能看起来像这样的东西:
<div class="todo-ui-directive" ng-repeat="todoList in lists" ng-controller="todoCtrl">
</div>
答案 0 :(得分:2)
您肯定希望使用服务来共享这样的业务逻辑。 您可以在指令中使用依赖注入来实现此目的:Injecting service to Directive
指令还可以创建控制器以在实例之间共享。您正在寻找的解决方案很有可能是两者的结合。 http://jasonmore.net/angular-js-directives-difference-controller-link/