Ionic 2 在同一个 html 中将数据从 <ion-content> 传递到 <ion-footer>
Ionic 2 passing data from <ion-content> to <ion-footer> in the same html
我在 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 传递到页脚?
您需要有一个可以更新的模板变量。此处此示例使用名为 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
在其他地方动态更新的情况下更安全。
我在 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 传递到页脚?
您需要有一个可以更新的模板变量。此处此示例使用名为 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
在其他地方动态更新的情况下更安全。