Угловая анимация nativescript с состояниями никогда не работает
Я пытаюсь заставить работать анимацию в приложении ng nativescript. Вот как я настроил анимацию в компоненте
animations: [
trigger('accessState', [
state('loggingIn', style({ "color" : "red" })),
state('signingUp', style({ "color" : "blue" })),
transition('loggingIn <=> signingUp', [animate('600ms ease-out')])
])
]
Просто и понятно: два состояния и просто color
изменение свойства при переходе. В XML я использую анимацию следующим образом:
<Label text="hey there buddy" [@accessState]="isLoggingIn ? 'loggingIn' : 'signingUp' "></Label>
В моем компоненте у меня есть метод, который переключает значение isLoggingIn
, Однако метка всегда остается зеленой (из-за стиля, определенного на листе CSS), и кажется, что триггер никогда не вызывается. Я что-то пропустил?
2 ответа
Решение
Модуль анимации Nativescript должен быть импортирован и включен в модуль.
import { NativeScriptAnimationsModule } from "nativescript-angular/animations"
Это сделает свое дело.
Я еще не тестировал, но должен работать:
<label text="hey there buddy" [@accessState]="isLoggingIn"></label>
<button (click)="changeState('loggingIn')">log up</button>
<button (click)="changeState('signingUp')">sign up</button>
в классе:
...
isLoggingIn="reset";
....
changeState(state){
this.isLoggingIn="reset";
setTimeout(() => { this.isLoggingIn = state;},300);
}