在angular2中,当名称为匿名且数组中的数组为空时,如何隐藏来自后端的数据
我有一组来自后端的数据,我的要求如下:在angular2中,当名称为匿名且数组中的数组为空时,如何隐藏来自后端的数据,angular,typescript,Angular,Typescript,我有一组来自后端的数据,我的要求如下: 如果用户名是“from\u user\u name”是匿名的,我必须隐藏内容 如果数组中的消息为空 谁能帮我解决这两个问题 HTML: 控制台: 这种行为应该从后端进行过滤,但在其他情况下,这是正确的代码: loadMessages() { this.service .getMessages() .subscribe( data => this.activeMessages = data.filter(
“from\u user\u name”
是匿名的,我必须隐藏内容
这种行为应该从后端进行过滤,但在其他情况下,这是正确的代码:
loadMessages() {
this.service
.getMessages()
.subscribe(
data => this.activeMessages = data.filter(msg => msg.active && msg.from_user_name !== 'Anonymus' && msg.messages.length > 0)
}
显然,您知道如何过滤数组。所以,再做一次(或两次)!不管怎样,在哪里我可以通过将条件置于loadMessages之上来对项目进行排序?我不确定排序会对此做什么。无论哪种方式,您都无法对这些数据执行任何操作,除非您将其放入订阅中。如果您想更改API以过滤掉消息,这样就不必在客户机上进行操作,这将是一件好事。
loadMessages() {
this.service
.getMessages()
.subscribe(
data => {
this.messagesdata = data;
this.activeMessages = data.filter(msg => msg.active == true);
this.closedMessages = data.filter(msg => msg.active == false);
if (this.activeMessages.length > 0) {
if(!this.message_show) {
var test = this.message_show = this.activeMessages[0];
this.message = true;
this.message_id = this.activeMessages[0].id;
}
console.log(this.activeMessages);
}
},error => {});
}
loadMessages() {
this.service
.getMessages()
.subscribe(
data => this.activeMessages = data.filter(msg => msg.active && msg.from_user_name !== 'Anonymus' && msg.messages.length > 0)
}