Tôi đang cố gắng kích hoạt chuyển tiếp được liên kết với thuộc tính boolean, nhưng điều này dường như không kích hoạt.Góc 2 Hoạt ảnh - kích hoạt boolean?
Đây là một phiên bản cắt giảm của hoạt hình kích hoạt của tôi
trigger(
'trueFalseAnimation', [
transition('* => true', [
style({backgroundColor: '#00f7ad'}),
animate('2500ms', style({backgroundColor: '#fff'}))
]),
transition('* => false', [
style({backgroundColor: '#ff0000'}),
animate('2500ms', style({backgroundColor: '#fff'}))
])
]
)
HTML:
<div [@trueFalseAnimation]="model.someProperty">Content here</div>
Để kiểm tra:
ngOnInit() {
setTimeout(() => {
this.model.someProperty = true;
setTimeOut(() => {
this.model.someProperty = false;
}, 5000);
}, 1000)
}
Trigger không bao giờ xảy ra khi someProperty
thay đổi.
Như một thử nghiệm nhanh Tôi đã thay đổi kích hoạt để sử dụng một chuỗi và nó hoạt động
trigger(
'trueFalseAnimation', [
transition('* => Success', [
style({backgroundColor: '#00f7ad'}),
animate('2500ms', style({backgroundColor: '#fff'}))
]),
transition('* => Failed', [
style({backgroundColor: '#ff0000'}),
animate('2500ms', style({backgroundColor: '#fff'}))
])
]
)
Để kiểm tra:
ngOnInit() {
setTimeout(() => {
this.model.someProperty = "Success";
setTimeOut(() => {
this.model.someProperty = "Failed";
}, 5000);
}, 1000)
}
Ví dụ thứ hai làm việc tốt
Câu hỏi của tôi là
- Boolean được hỗ trợ làm trình kích hoạt?
- Nếu có đến # 1, tôi là gì làm sai?
Đối với những người nhìn thấy câu trả lời này vào năm 2017: Kể từ Angular 4.0.1, bạn sẽ cần sử dụng 'state ('1', ...' và 'state ('0', ...)' thay vì 'state ('true', ...) 'và' state ('false', ...) ' – user3587412
' state ('0', ...) 'Tôi đã dành hàng giờ để có được thứ chết tiệt đó để làm việc. – wodzu
Tôi đã gặp vấn đề tương tự với việc sử dụng dấu gạch nối trong tên tiểu bang của tôi .Thay đổi tên tiểu bang thành camelCase đã khắc phục sự cố của tôi –