从其外部的指令获取ng-repeat内的数据

时间:2014-07-24 03:44:32

标签: angularjs angularjs-ng-repeat ionic-framework

我正在使用基于AngularJS的Ionic Framework开发移动应用程序。

在一个指令上我循环使用ng-repeat ng-if应用条件为<ion-content class="has-header has-subheader" > <ion-slide-box"> <ion-slide ng-if="invocation.title_id == titleid" ng-repeat="invocation in invocations" > <h3>{{invocation.id}}</h3> <div ><h1>{{invocation.invocation_frensh }}</h1></div> <div ><h1>{{invocation.invocation_ar}}</h1></div> <div ><h1>{{invocation.invocation_franko}}</h1></div> <div ><h1>{{invocation.comments_fr}}</h1></div> <div ><h1>{{invocation.comments_ar}}</h1></div> </content> </ion-slide> </ion-slide-box> <p>{{invocation.id}}</p> </ion-content> 的JSON数组,请参见下文:

p

关键是在最后"p"上没有显示任何内容。

我理解$ scope不一样,但在ng-repeat"{{invocation.id}}"之外的任何其他组件上,我需要拥有相同的数据才能与之交互。

例如,我想在页脚上添加一个获取ng-repeat "h3"的按钮。如果"p"中的invocation.id等于3,我想在{{1}}

中等于3

我该怎么做?

谢谢你的帮助

编辑:实际上我想在循环外的'p'中调用[index] .id,其中index等于显示的幻灯片。

2 个答案:

答案 0 :(得分:0)

invocation变量在ng-repeat结束时消失,如果您需要再次使用它,则需要另一个ng-repeat

答案 1 :(得分:0)

假设您希望一次只显示一张幻灯片,则可以不使用ng-if,而是使用过滤器。

<ion-slide ng-repeat="invocation in displayedInvocations = (invocations | filter:{title_id: title_id}:true)">

然后在外面:

<p>{{displayedInvocations[0].id}}</p>

希望这有帮助。