ngIf и переходы/анимации CSS в Angular 2
Как вставить элемент div справа с помощью CSS в Angular 2?
Notes
.transition{ -webkit-transition: opacity 1000ms ease-in-out,margin-left 500ms ease-in-out; -moz-transition: opacity 1000ms ease-in-out,margin-left 500ms ease-in-out; -ms-transition: opacity 1000ms ease-in-out,margin-left 500ms ease-in-out ; -o-transition: opacity 1000ms ease-in-out,margin-left 500ms ease-in-out; transition: opacity 1000ms ease-in-out,margin-left 500ms ease-in-out; margin-left: 1500px; width: 200px; opacity: 0; } .transition{ opacity: 100; margin-left: 0; }
Этот код работает нормально, если вы просто используете [ngClass] для переключения классов и используете преимущества непрозрачности. Но я не хочу, чтобы этот элемент отображался с самого начала, поэтому я сначала «скрываю» его с помощью ngIf, но тогда переход не будет работать.
Обновление 4.1.0
использует API анимации перехода, больше не нужно использовать [скрытый] или [*ngIf скрытый].
Обновление 2.1.0
Просмотр анимации на angular.io
import { trigger, style, animate, transition } from '@angular/animations';
@Component({
selector: 'my-app',
animations: [
trigger(
'enterAnimation', [
transition(':enter', [
style({transform: 'translateX(100%)', opacity: 0}),
animate('500ms', style({transform: 'translateX(0)', opacity: 1}))
]),
transition(':leave', [
style({transform: 'translateX(0)', opacity: 1}),
animate('500ms', style({transform: 'translateX(100%)', opacity: 0}))
])
]
)
],
template: `
xxx
`
})
export class App {
show:boolean = false;
}
Исходный ответ
Когда выражение становится ложным, *ngIf удалит элемент из DOM. Несуществующий элемент не может быть перенесен.
можно заменить скрытым атрибутом:
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3