首页 > 解决方案 > 简化另一个 else 中的 if/else

问题描述

我有一段代码,我需要在 else 中放置一个 if/else 来更改我的视图的 DOM:

else {
      this.selectedUser = this.user.find(b => b._id === userId)
      this.onSelect.emit(this.selectedUser)
      if (this.selectedUser.isConnected) {
        (<HTMLImageElement>document.getElementById('user-state')).src = 'assets/imgs/userConnected.png'
      } else {
        (<HTMLImageElement>document.getElementById('user-state')).src
          = 'assets/imgs/userDiscoonnected.png'
      }
    }

有没有办法简化这个?还是让它更干净?

标签: javascript

解决方案


我能想到的唯一可读方式是

 else {
          this.selectedUser = this.user.find(b => b._id === userId)
          this.onSelect.emit(this.selectedUser)
          (<HTMLImageElement>document.getElementById('user-state')).src =
          this.selectedUser.isConnected 
          ? 'assets/imgs/userConnected.png' 
          : 'assets/imgs/userDiscoonnected.png';
        }

推荐阅读