Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在angular2中,当名称为匿名且数组中的数组为空时,如何隐藏来自后端的数据_Angular_Typescript - Fatal编程技术网

在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”
    匿名的,我必须隐藏内容
  • 如果数组中的消息为空
  • 谁能帮我解决这两个问题

    HTML:

    控制台:

    这种行为应该从后端进行过滤,但在其他情况下,这是正确的代码:

    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)
    }