我在Ionic 2中有一个html页面,我使用* ngFor生成离子幻灯片,我想将数据从ngFor传递到同一页面中的页脚。
<ion-content>
<ion-slides>
<ion-slide *ngFor="let event of completeEvents">
{{event.message}}
</ion-slide>
</ion-slides>
</ion-content>
<ion-footer>
<div>
<p>{{event.message}}</p>
</div>
</ion-footer>
如何将event.message传递给页脚?
答案 0 :(得分:4)
您需要有一个可以更新的模板变量。此示例使用名为current
的变量。
<ion-content>
<ion-slides (ionSlideDidChange)="current = completeEvents[$event.getActiveIndex()]">
<ion-slide *ngFor="let event of completeEvents">
{{event.message}}
</ion-slide>
</ion-slides>
</ion-content>
<ion-footer>
<div>
<p>{{current ? current.message : completeEvents[0].message}}</p>
</div>
</ion-footer>
ionSlideDidChange
事件会发出$event
,它是Slides
组件的实例引用。因此,您可以使用它来调用文档中的任何已发布方法。
我不确定在第一次显示第一张幻灯片时是否触发了该事件。因此,我添加了current || 0
以始终显示第一个。
修改强>
我更改了答案,以便current
拥有对当前事件的引用。这使得completeEvents
在其他地方动态更新的情况下更安全。