Per*_*eck 17 angular2-animation angular
该@Component
注释为我们提供了一个animations
属性.这可以用来定义列表triggers
每个很多state
和transition
性能.
将多个动画添加到组件时,此列表可能会变得很长.此外,一些动画也非常适合在其他组件中使用.必须将它们直接放在每个组件中似乎很乏味且重复 - 而且它违反了DRY原则.
您也可以在组件上定义模板和样式属性,但在这里您可以选择提供templateUrl
和styleUrls
替换.我似乎无法找到一个animationUrls
属性 - 我错过了什么 - 有没有办法做到这一点?
Pau*_*tha 31
你当然可以.您可以在不同的文件中声明动画,然后将其导入到您需要的位置
animations.ts
export const animation = trigger(...)
Run Code Online (Sandbox Code Playgroud)
component.ts
import { animation } from './animations'
@Component({
animations: [ animation ]
})
Run Code Online (Sandbox Code Playgroud)
或者,如果要使其可配置,则可以导出函数.例如,看看Fuel-UI Collapse.这是一个可重用(和可配置)的动画
collapse.ts
export function Collapse(duration: number = 300) {
return trigger('collapse', [
...
])
}
Run Code Online (Sandbox Code Playgroud)
然后在您的组件中,只需使用
import { Collapse } from './collapse'
@Component({
animations: [ Collapse(300) ],
template: `
<div @collapse="collapsed ? 'true' : 'false'">
</div>
`
})
class MyComponent {}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4316 次 |
最近记录: |