按照这里的文档,我试图在我的应用程序中添加一些动画,但我在理解动画触发器时遇到了一些问题。
html组件
<div class="navbar navbar-default navbar-fixed-top">
<ul class="nav navbar-nav">
<li>
<span (click)="open()" class="glyphicons glyphicons-show-lines">open</span>
</li>
</ul>
</div>
<div class="vertical-menu" @verticalOpen="openOrClose">
<div class="list-group table-of-contents">
<a class="list-group-item" [routerLink]="['/login']" routerLinkActive="active">Login</a>
<a class="list-group-item" [routerLink]="['/personalArea routerLinkActive="active">Personal Area</a>
</div>
</div>
ts文件
@Component({
selector:'menu-bar',
templateUrl:'app/components/menubar/menubar.component.html',
styleUrls:['app/components/menubar/menubar.component.css'],
directives:[ROUTER_DIRECTIVES],
animations:[
trigger('verticalOpen',[
state('inactive',style({
left: '-115px',
transform:'scale(1)',
backgroundColor:'red'
})),
state('active',style({
left: '0px',
transform:'scale(1.3)'
})),
transition('active => inactive', animate('100ms ease-in')),
transition('inactive => active', animate('100ms ease-out'))
])
]
})
export class MenuBar{
closeOrOpen:string;
open(){
if(this.closeOrOpen=='inactive'){
this.closeOrOpen='active'
}
else if(this.closeOrOpen=='active'){
this.closeOrOpen='inactive'
}
else{
this.closeOrOpen='inactive'
}
console.log(this.closeOrOpen)
}
}
所以我想做的是用一个按钮触发样式的变化,但是当我点击时没有任何变化。对我来说看代码没有错误,是真的吗?我错过了什么?