我首先要说的是,我是SO和Angular2的新手。
我正在尝试使用我的 *ngFor 循环作为参数,以便与 navCtrl.push() 一起传递。目标是拥有类似Facebook Messenger的东西,您可以在其中单击要访问的聊天组,然后显示该页面的一个版本,其中包含与您单击的聊天组关联的内容(消息)。这是我认为可行的方法。问题在于推送/接收"事件"变量。我也在 ngFor 循环中做一些文本引用,但我把它删掉了。
<div *ngFor='let event of dataProvider.data.invitedEvents'>
<button (click)='this.navCtrl.push(groupVotePage, event)' ion-item>
</button>
</div>
但是,当我尝试使用 this.navParams.get('event')(在构造函数中使用 navParams)访问 groupVotePage 中的事件时,我得到 null。我想知道是否有任何方法可以通过它,或者我什至以正确的方式去做。我知道我需要确认一些后端内容是正确的,如果您能让我知道那是什么,那也很棒。
谢谢!
这里的问题是在模板中你没有这个,我的意思是当你编写这个.navCtrl angular会在你的组件中寻找一个属性,第二个问题groupVotePage不是一个属性,所以简单地说你在模板中使用的所有内容都必须是组件中的属性/方法。
在组件内部创建新方法
public goToPage(event){
this.navCtrl.push(groupVotePage, { event: event})
}
然后按钮
<button (click)='goToPage(event)' ion-item></button>
附言。第二个参数是路由器将读取的对象。您需要为路由器传递键值对才能访问您的事件