와 ngZone.runOutsideAngular을 사용하면 항상 requestAnimationFrame()
이 같은 각 영역의 외부를 호출해야하는 것이 좋습니다 ...는 Anguar 2, 나는 각 팀 온라인 읽은 것과는 requestAnimationFrame 루프
this.ngZone.runOutsideAngular(() => {
requestAnimationFrame(timestamp => {
let timerStart = timestamp;
this.myAnimeMethod(timestamp, timerStart);
});
});
myAnimeMethod(timestamp, timerStart) {
let time = timestamp || new Date().getTime();
let runtime = time - timerStart;
/// animation logic here
if(runtime < 10000) {
// ------- continue to animate for 10 seconds -- //
requestAnimationFrame(timestamp => {
this.myAnimeMethod(timestamp, timerStart);
});
}
}
충분히 첫 번째 요청에 this.ngZone.runOutsideAngular()
전화 또는 내가 이런 myAnimeMethod()
안에 다시 this.ngZone.runOutsideAngular()
를 호출해야 그것을 되었습니까?
this.ngZone.runOutsideAngular(() => {
requestAnimationFrame(timestamp => {
let timerStart = timestamp;
this.myAnimeMethod(timestamp, timerStart);
});
});
myAnimeMethod(timestamp, timerStart) {
let time = timestamp || new Date().getTime();
let runtime = time - timerStart;
/// animation logic here
if(runtime < 10000) {
// ------- request to run outside of Angular again while continuing to animate for 10 seconds -- //
this.ngZone.runOutsideAngular(() => {
requestAnimationFrame(timestamp => {
this.myAnimeMethod(timestamp, timerStart);
});
});
}
}
모든 안내에 크게 감사드립니다.