我正在使用Angular 4動畫測試按鈕上的一個簡單的淡入/淡出動畫。我遇到的問題是,因爲我使用布爾值沒有任何被觸發。從開發工具,它看起來像一個.ng-animating
類被添加到元素,但沒有任何更改。Angular 4動畫布爾觸發器
這是我的代碼示例:
@Component({
selector: 'fade-btn-test',
styles: [
require('./fade-btn-test.component.scss')
],
template: `
<button [@test]="isActive" (click)="isActive = !isActive">My Button</button>
`,
animations: [
trigger('test', [
state('true', style({ opacity: 0 })),
state('false', style({ opacity: 1 })),
transition('0 <=> 1', animate(500))
])
]
})
export class FadeBtnTestComponent {
isActive: boolean = false;
}
我知道,用上面的代碼與角2的工作,但是在這種情況下,它不工作。我找到的唯一解決方案是使用string
而不是boolean
。
@Component({
selector: 'fade-btn-test',
styles: [
require('./fade-btn-test.component.scss')
],
template: `
<button [@test]="isActive.toString()" (click)="isActive = !isActive">My Button</button>
`,
animations: [
trigger('test', [
state('true', style({ opacity: 0 })),
state('false', style({ opacity: 1 })),
transition('true <=> false', animate(500))
])
]
})
export class FadeBtnTestComponent {
isActive: boolean = false;
}
從上面的代碼,你會注意到,動畫觸發@test
正在讀一個字符串(isActive.toString()
)和transition
功能true <=> false
傳遞,而不是0 <=> 1
。
雖然我得到它的工作,我不知道是否有任何更新動畫模塊本身。有沒有人知道Angular 4更新對動畫模塊的更改?
你閱讀更新? – Chrillewoodz
是的,找不到與此相關的任何內容 –
我無法在更改日誌中找到其他任何內容,但似乎如果沒有您的解決方法,則不再支持true false。如果你不想使用.toString(),你可以讓你的狀態爲0或1而不是真或假。 –