ngAngular 2의 If 및 CSS 전환/애니메이션
Angular 2에서 CSS를 사용하여 오른쪽에서 div를 슬라이드하는 방법은 무엇입니까?
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를 사용하므로 더 이상 [hidden] 또는 [*ngIf Hidden]을 사용할 필요가 없습니다.
2.1.0 업데이트
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;
}
원래 답변
식이 false가 되면 *ngIf는 DOM에서 요소를 제거합니다. 존재하지 않는 요소는 전환할 수 없습니다.
는 숨겨진 속성으로 대체될 수 있습니다:
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3