首页 文章

angular2 / ionic2如何在函数调用中使用* ngFor参数

提问于
浏览
-1

我将通过说这是我对SO和Angular2的新手来说明这一点 .

我正在尝试使用我的* ngFor循环作为参数来传递navCtrl.push() . 目标是拥有类似Facebook Messenger的内容,您可以在其中单击要访问的聊天组,并显示页面版本,其中包含与您单击的聊天组关联的内容(消息) . 这是我认为可行的 . 问题在于推送/接收'event'变量 . 我也在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 . 我想知道是否有任何方法可以通过这个,或者我是否以正确的方式去做 . 我知道有一些后端的东西我需要确认是正确的,如果你能让我知道那是什么,那么那也很棒 .

谢谢!

1 回答

  • 1

    这里的问题是在模板中你没有 this 我的意思是当你写这个.navCtrl angular会在你的组件里找到一个属性,第二个问题groupVotePage不是属性,所以简单地说你在模板中使用的一切都必须是组件内部的属性/方法 .

    在组件内部创建新方法

    public goToPage(event){
       this.navCtrl.push(groupVotePage,  { event: event})
    }
    

    然后按钮

    <button (click)='goToPage(event)' ion-item></button>
    

    PS . 第二个参数是路由器将读取的对象 . 您需要为路由器传递键值对才能访问您的事件

相关问题