import {Inject, PLATFORM_ID} from '@angular/core';
import {isPlatformBrowser} from '@angular/common';
import {Router, NavigationEnd} from '@angular/router';
constructor(@Inject(PLATFORM_ID) platform:any, router:Router){
router.events.filter(ev=>ev instanceof NavigationEnd).subscribe(...)
}
<div class="box">
<div class="select-wrapper">
<select name="" id="">
<option>lorem test test</option>
<option>lorem test test</option>
<option>lorem test test</option>
<option>lorem test test</option>
<option>lorem test test</option>
<option>lorem test test</option>
</select>
</div>
</div>
.select-wrapper{
display:none;
}
.box:hover .select-wrapper,.select-wrapper:hover{
display:block;
}
Второй способ мне не нравится тем, что приходится для одноразовой операции использовать подписку на поток, которая будет действовать долгое время. Кроме того придётся писать код для отписки(unsubscribe()) при уничтожении компонента.