Javascript 用于调用函数的Ng
我使用ionic 2开发聊天应用程序。这是我的html代码Javascript 用于调用函数的Ng,javascript,angular,ionic2,ngfor,Javascript,Angular,Ionic2,Ngfor,我使用ionic 2开发聊天应用程序。这是我的html代码 {{chat.date | amDateFormat:'LL'} {{checkdate(chat.date)} {{chat.path_text} {{chat.date}amDateFormat:'hh:mmA'} {{chat.message_text} {{chat.date}amDateFormat:'hh:mmA'} 它很好用。显示聊天信息。但我不需要显示相同的日期值,因为我调用了checkdate(chat.date
{{chat.date | amDateFormat:'LL'}
{{checkdate(chat.date)}
{{chat.path_text}
{{chat.date}amDateFormat:'hh:mmA'}
{{chat.message_text}
{{chat.date}amDateFormat:'hh:mmA'}
它很好用。显示聊天信息。但我不需要显示相同的日期值,因为我调用了checkdate(chat.date)
这是我的功能
checkdate(日期)
{
var res=拆分日期(“”);
var A=res[0];
var local=localStorage.getItem('chatdate');
此.msgdate=“”;
if(local==undefined | | local==null)
{
这个.msgdate=A;
localStorage.setItem('chatdate',this.msgdate);
}
else if(本地!==未定义)
{
console.log(本地!=A);
如果(本地!=A)
{
this.msgdate=A;
localStorage.setItem('chatdate',this.msgdate);
}
}
控制台日志(“日期值”);
}
实际上数组长度是3。但是这个函数调用了很多次。我检查了这个函数调用了多少次。因为我只是安慰字符串值。它安慰了很多次,大概100次
如何停止重复调用函数?原因是您正在从模板调用函数:
{{checkdate(chat.date)}}
这是您真正想要避免的,因为模板中包含函数意味着每次运行更改检测时都会执行这些函数。在最坏的情况下,这会导致无限循环
因此,建议您重构代码,处理组件中的逻辑,将其分配给变量,并在模板中使用变量。谢谢。我为最后一项值分配了变量仅更新数组。对不起,我很难理解你的意思:)你能显示代码而不是你尝试过的代码吗?我有一个数组,有3个值。数组值包含msg和date。date值是相同的。实际上我的应用程序显示的是相同的日期值。我需要不显示相同的日期值。我如何检查…仍然不能真正理解infg,请您创建一个plunker来展示这个问题,我很乐意看一看:)