我有一个简单的下拉组件,我想制作动画。问题是,尽管控制动画状态的变量以值“inactive”开始,并且当组件加载时我的下拉菜单仍然出现,并且只有在我将鼠标悬停在它上面时才会采用正确的值。我无法在样式文件中放置零高度和填充,因为我在动画中使用带有“*”的基值引用。而且我已经尝试在我的 ngOnInit 方法中使用 ChangeDetectorRef。
<li (mouseenter)="showServicesSubMenu()"
(mouseleave)="hideServicesSubMenu()">
<a class="nav-link user-menu-item"
[@servicesLinkShadowState]="servicesLinkState"
href="javascript:void(0)"
id="services-menu-item"
routerLinkActive="active-menu active-services"
routerLink="services"
jhiTranslate="global.menu.services.main">
Послуги
</a>
<ul>
<li class="service-sub-menu"
*ngFor="let childNode of servicesOptions"
[@submenuDropdown]="servicesLinkState">
<a [routerLink]="childNode.href"
[jhiTranslate]="childNode.translateVar">
{{childNode.name}}
</a>
</li>
</ul>
</li>
trigger('submenuDropdown',[
state('active', style({height:'*', padding:'10px', borderBottom: '2px solid #b90062'})),
state('inactive', style({height:'0', padding:0, borderBottom:'0px solid #b90062'})),
transition('active<=>inactive', animate('250ms'))
])