将控制器实例的列表存储在AngularJS中的另一个控制器中
Store a list of controller instances in a different controller in AngularJS
我需要一个一个控制器包裹另一个控制器的角度示例。举个例子,我想在EndpointListController
和EndpointController
之间划分一些逻辑。
EndpointListController
将具有从存储器获取数据的方法,加上适用于整个列表的一些函数,然而,EndpointController
将具有用于一个单独端点的逻辑。
用ng repeat循环它们并直接在端点上调用方法,这将是非常好的,如下所示:
<table ng-controller="EndpointListController">
<tr ng-repeat="endpoint in endpoints">
<td><input type="checkbox" ng-click="endpoint.select()"></td>
<td>{{endpoint.label}}</td>
<td><span class="label label-info">2014-10-10 23:59</span></td>
<td><span class="label label-success">success</span></td>
<td><a href="" class="glyphicon glyphicon-cloud"></a></td>
</tr>
</table>
目前我不得不做这样的事情:
<tr ng-repeat="endpoint in endpoints" ng-controller="EndpointController" endpoint-data="{{endpoint}}">
不是很优雅。。。
我试图用棱角来完成的事情可能吗?也许我看错了,如果有人能给我指明正确的方向,我将不胜感激。
我喜欢这个这样的容器指令
这是一个plunker
您可以将小部件代码缩短为以下内容:
<end-point-list class="table">
<end-point ng-repeat="ep in endpoints" scope="ep" func="selectEp(scope)">
</end-point>
</end-point-list>
你有两个指令,其中一个需要另一个,比如
app.directive("endPointList", function(..
return {
controller:'EndpointCtrl',
//
app.directive("endPoint", function(..
require:'?^endPointList',
因此,您可以在子对象上隔离作用域,但可以将任何内容传递回控制器。
我省略了连接到任何实际端点的部分,不确定这是否是问题的一部分?
相关文章:
- 修改控制器AngularJS的全局值
- 从控制器Angularjs调用链接函数
- 共享变量和多个控制器AngularJS
- 未定义的控制器AngularJS
- 将模块注入控制器AngularJs
- 使用工厂/服务在控制器AngularJS之间推送数组中的数据
- 如何更新控制器angularjs中的.value
- 调用另一个控制器Angularjs中的控制器
- 如何访问两个控制器AngularJS
- 如何在多个文件中定义控制器 - AngularJs.
- 从父控制器 AngularjS 访问 Popup 控件
- 从同一控制器 Angularjs 中的另一种方法访问$scope变量
- 将数据从服务传递到控制器 AngularJS
- 在控制器 AngularJS 之间共享功能
- 推送通知发送到控制器 Angularjs
- 工厂没有被注入控制器 - angularJS
- 在控制器 AngularJS 之间传递 ID 值
- 闭包中的多个控制器 angularjs.
- 将服务文件中收到的 Rest 数据发送到控制器 angularjs
- 覆盖不同控制器 Angularjs 中的变量