【发布时间】:2017-04-20 12:00:23
【问题描述】:
我正在使用离子 2
这是我的代码:
<div class="messagesholder"
*ngFor="let chat of chatval | orderby:'[date]'; let i = index;let first=first;let last = last;">
{{last ? callFunction() : ''}}
<div *ngIf="chat.sender == currentuser || chat.receiver == currentuser" >
{{checkdate(chat.date)}}
<p class="chat-date" id="abc" #abc>{{msgdate | amDateFormat:'LL'}}</p>
</div>
这是我的checkdate 函数:
checkdate(date)
{
var res = date.split(" ");
var A=res[0];
var local=localStorage.getItem('chatdate');
this.msgdate="";
if(local === undefined || local === null)
{
this.msgdate=A;
localStorage.setItem('chatdate',this.msgdate);
}
else if(local !== undefined)
{
console.log(local != A);
if(local != A)
{
this.msgdate = A;
localStorage.setItem('chatdate',this.msgdate);
}
}
}
callFunction(){
this.content.scrollToBottom(0)
}
这是工作。但是我收到了这个错误。
FIREBASE WARNING: Exception was thrown by user callback. Error: Expression has changed after it was checked. Previous value: 'April 10, 2017'. Current value: ''.
因为我通过在我的代码中包含这些行来完成这项工作:
import { Component, ChangeDetectionStrategy } from '@angular/core';
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
selector: 'page-chat',
templateUrl: 'chat.html',
})
现在。我没有收到错误消息。但内容不显示。
我安慰了chatval。它很好。但它没有显示任何价值。
在我去后退按钮的同时,内容显示一秒。
如果我删除ChangeDetectionStrategy,
我再次收到此错误消息
FIREBASE WARNING: Exception was thrown by user callback. Error: Expression has changed after it was checked. Previous value: 'April 10, 2017'. Current value: ''.
为什么使用ChangeDetectionStrategy? UI 值不显示。
【问题讨论】:
标签: angular ionic2 angular2-changedetection