ng循环无法正确wrk

  • 本文关键字:wrk 循环 ng ionic2
  • 更新时间 :
  • 英文 :


我是初学者ionic2

实际上我正在使用FCM插件进行推送通知。

这是我的应用程序component.ts

     FCMPlugin.onNotification(function(d){
          if(d.wasTapped){  
            console.log(d);
           var nav=self.appCtrl.getActiveNav().setRoot(NotificationsPage);
       })

它是wrk完美。而且,当我单击通知页面重定向到各自页面(通知页)。

我从Firebase Collections中检索了数据并分配给数组。

数组变量名称是通知。我安装了数组值。它的工作正常。

使用VirtualScroll显示在UI中。

在我的HTML代码下方。这是相应的页面(通知页)

<ion-card class="card" [virtualScroll]="Notifications">
      <ion-item (click)="navigate(Notifications.value.TYPE,Notifications.value.FROM,Notifications.value.$key,Notifications.value.TO,Notifications.value.MSG,Notifications.value.STATUS,Notifications.time)" *virtualItem="let Notification">
        <ion-avatar item-left>
          <img  *ngIf="!Notification.userval.FILE" src="https://firebasestorage.googleapis.com/v0/b/apartments-ea9e5.appspot.com/o/default.png?alt=media&token=a64af538-17a7-46e1-9e38-383c1df060cf">
          <img *ngIf="Notification.userval.FILE" [src]="Notifications.userval.FILE">
        </ion-avatar>
         <p>{{Notification.value.MSG}}</p>
         <p>{{Notification.time}}</p>
         <p style="text-align:right;color:#334bfa;">{{Notifications.value.TYPE}}</p>
      </ion-item>
    </ion-card>

在我的通知页面组件(TS文件)下方。

          this.authservice.getalluser().first().subscribe(namelist=>
              {
                 var users=[];
                 namelist.forEach(userval=>
                 {
                   users.push(userval.val());
                 })
                for(var i in val)
                {
                this.Time=val[i].SEND_TIME;
                var timeagoIns  = timeago();
                var result=timeagoIns.format(this.Time);
                console.log(result);
                 var user=users.filter(users=>users.USER_ID.toString() === val[i].FROM.toString());
                this.Notifications.push({
                     value:val[i],
                     time:result,
                     userval:user[0]
                  })
                Console.log(this.Notifications);
             })

数组值不更新UI。但我会委托通知值。

的工作正常。

为什么没有在数组值中更新UI。

如何解决此问题。

请建议我,

谢谢。

您是否这样更新您的数组?

push.on('notification', (data) => {
    // update array
});

如果您以这种方式更新数组,则UI不应更新。因为您的数组现在不在ngzone中。在这种情况下,您可以使用此功能,

push.on('notification', (data) => {
   this.ngZone.run(() => {
       // update array
   });
});

相关内容

  • 没有找到相关文章

最新更新