繁体   English   中英

如何在Angular中显示console.log数据?

[英]How to display this console.log data in Angular?

我们创建了一个显示在线用户的功能。 它在控制台日志中工作正常,但是如果用户在线,我想显示p作为结果。 这是代码:

ngOnInit() {
    this.socket.emit('online', { room: 'global', user: this.user.username });
    this.socket.on('refreshPage', () => {
      this.GetUserData(this.name);
    });
  ...
  ...
ngAfterViewInit() {
    this.socket.on('usersOnline', data => {
      console.log(data);
    });
  }

在console.log(data)上方显示控制台内所有在线用户的详细信息。 应该添加什么而不是console.log在前端显示条件? 我们添加了以下内容:

  CheckIfOnline(name) {
    const result = _.indexOf(this.onlineusers, name);
    if (result > -1) {
      return true;
    } else {
      return false;
    }
  }

HTML

 <p class="" *ngIf="CheckIfOnline(user.username)">online</p>

但是它没有显示,因为CheckIfOnline函数中缺少某些内容。 此功能只是一个原型。 我认为它应该与ngAfterViewInit一起使用。 我应该添加什么而不是该console.log并修复checkifonline以便彼此通信并在用户在线时显示该p标签?

您可以定义布尔标志变量,并在ngAfterViewInit方法中进行设置。 心连心

public isOnline: boolean = false;

public ngAfterViewInit() {
    this.socket.on('usersOnline', data => {
     /** Check user name exist in data contains */
     this.isOnline = /* [write a logic check this.user.username exist in data ] */
    });
  }

 <p class="" *ngIf="isOnline">online</p>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM