에서 Zone.js의 사용이고 내가 파일 Zone.js을 건너오고, 내가 파일 구역의 목적이 무엇인지 알고 싶습니다 것. js와 어떻게 응용 프로그램을 더 좋게 만들 것입니다.현재 <strong>각도</strong><strong>2.0</strong>을 배우고 각도 2
답변
영역은 비동기 작업에서 지속되는 실행 컨텍스트로, 영역 작성자가 영역 내의 코드 실행을 관찰하고 제어 할 수 있도록합니다.
나는을 렌더링 할 때 angular2에 zonejs를 사용이 입니다 주요 목적이 알고 있다고 생각합니다. 응용 프로그램의 모든 작업이 완료되면 알고 DOM 업데이트를 수행 할 필요가, 같은 각도로
프레임 워크를 (:/사용 사례 3은 사용 사례 프레임 워크 자동 렌더링 5 장) NgZone Primer에 따르면
호스트 환경 이 픽셀 렌더링을 수행하기 전에. 실제로 이는 프레임 워크가 주 작업과 관련된 마이크로 작업이 실행되었지만 VM이 호스트로 제어 권한을 넘겨주기 전에 관심이 있음을 의미합니다.
는 각도는 비동기 API를 패치 할 영역을 사용 (또는 addEventListener,에서는 setTimeout()를, ...) 및 변경 감지 일부 비동기 이벤트가 발생 할 때마다 실행하려면 다음 패치 API를 알림을 사용합니다. 이 각도 영역
은 또한 zonejs (Application.tick
)
디버깅을 테스트하는데 유용하다 변화 검출을 트리거하는 이벤트에 onMicrotaskEmpty
이벤트
https://github.com/angular/angular/blob/2.2.4/modules/%40angular/core/src/zone/ng_zone.ts#L199
및 ApplicationRef
구독을 갖는다 , 프로파일 링. 그것은 당신이 어떤 오류와 직면하면 전체 호출 스택을 볼 수 있습니다.
지역이 같은 비동기 API를 패치 : 그것은 angular2
Zonejs 어떻게 작동하는지 이해하는 데 유용 할 수
Promise
XHR
fetch
Error
addEventListener
removeEventListener
FileReader
WebSocket
MutationObserver
WebKitMutationObserver
document.registerElement
navigator.geolocation.getCurrentPosition
navigator.geolocation.watchPosition
copy cut paste abort blur focus canplay canplaythrough change click contextmenu
dblclick drag dragend dragenter dragleave dragover dragstart drop
durationchange emptied ended input invalid keydown keypress keyup
load loadeddata loadedmetadata loadstart message
mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup
pause play playing progress ratechange reset scroll
seeked seeking select show stalled submit suspend
timeupdate volumechange waiting
mozfullscreenchange mozfullscreenerror mozpointerlockchange
mozpointerlockerror error webglcontextrestored webglcontextlost webglcontextcreationerror
setTimeout/clearTimeout
setInterval/clearInterval
setImmediate/clearImmediate
requestAnimationFrame/cancelAnimationFrame
mozRequestAnimationFrame/mozCancelAnimationFrame
webkitRequestAnimationFrame/webkitCancelAnimationFrame
alert
prompt
confirm
이 기사 중 하나입니다 Angularjs에서 사용되는 핵심 라이브러리 2. Zonejs는 단일 또는 다중 레벨 비동기 메소드에 대한 상황 별 실행을 유지 보수합니다. 즉, 현재 실행중인 비동기 메소드의 상위 컨텍스트를 추적하는 것이 도움이된다는 의미입니다.
예 -
Zone.current.fork({}).run(function(){
Zone.current.myZoneVar = true;
console.log('Assigned myZoneVar');
setTimeout(()=>{
console.log('In timeout', Zone.current.myZoneVar);
},1000);
});
console.log('Out side', Zone.current.myZoneVar);
<script src="https://unpkg.com/[email protected]?main=browser"></script>
참고 : Plz은 콘솔 오류를 무시합니다. 이 코드는 jsfiddle에서 잘 작동합니다 - https://jsfiddle.net/subhadipghosh/0uqc9rdr/
여기서 우리는 현재 영역의 포크를 생성하고 영역에서 메소드를 호출합니다. 이 메서드에는 비동기 호출 (setTimeout)이 있습니다. 그러나 Zone 아래에 있으므로 Zone 변수에 액세스 할 수 있습니다. 마지막 줄에서는 동일한 변수에 액세스하려고하는 영역 밖을 볼 수 있지만 그 영역에는 정의되지 않은 영역이 있습니다.
원래의 게시물 - http://technobelities.blogspot.in/2017/03/zonejs-overview-with-example.html
각도이 변화 감지 Zonejs을 활용한다. 어떤 변화가 발생할 때마다,이 각도 2의 코드에 따라 감지 -
ObservableWrapper.subscribe(this.zone.onTurnDone,() => {
this.zone.run(() => {
this.tick();
});
});
tick() {
// perform change detection
this.changeDetectorRefs.forEach((detector) => {
detector.detectChanges();
});
}
각도 영역
앱에서 변경 감지를 시작 onTrunDone 이벤트를 방출한다.Zone.js는 asyn 호출에 사용되며 내부적으로 오류 및 스택 추적을 위해 사용됩니다. angular2가이를 사용하고 있습니다. 그래서 당신은이 자바 스크립트를 무시할 수 없습니다.
- 1. 장고 : 나는 현재 서약을하면 <p>장고 ...</p>을 배우고
- 2. 각도 2 * ngFor의 두 항목마다 <hr>을 추가하십시오.
- 3. 각도 2 - ngFor 색인 <x
- 4. , 각도 나 각도 2</strong>에 대한 <strong>재질 디자인을 사용하고 2+
- 5. 꿀꿀 - autoprefixer는 사용할 때 난 그냥 그런트</strong><strong>을 배우고
- 6. '* 2'대신 '<< 1'을 사용하면 어떤 이점이 있습니까?
- 7. 각도 : 필터는 아직도 매우 각도 JS을/배우고
- 8. 좋은 튜토리얼 내가 Deitel의이 책 <em>C++</em>을 배우고
- 9. 파이썬에서 l = (2 << 2 | 3 << 2)의 의미
- 10. 각도, 키 <수
- 11. 가 왜 DI가 간단한 단어에서 각도 2.</p> <p>어떻게 작동하는지 이해하기 위해 노력하고 각도 2
- 12. 각도 2 <strong>각도 2</strong>, 나는 다음과 같은 데이터가 내에서 작업 계층 데이터
- 13. <을 TabControl과 캔버스
- 14. 구조체 벡터에 <<을 오버로드하는 방법
- 15. 각도 2 JSONP, 주입 스크립트는 내가 데이터 클래스가 나는 각도 2.RC4와 타이프 라이터</p> <p>을 사용하고 콜백
- 16. "<"을 "% lt;"로 대체하는 NSXML
- 17. <"index">을 기대하지만 <[]>
- 18. 파이썬에서/<from <을 구별하십시오
- 19. C# <을 <HTML 파일로 바꾸기
- 20. <xsl:param>을 <command>
- 21. 제대로 내 <code>CustomModule</code>에 <code>FromGroup</code>, <code>FormBuilder</code> 및 <code>FormControl</code>을 가져 오려고 각도 2
- 22. 출력 a = ~ a + 2 << 1;
- 23. 각도 2 웹팩 빌드 : 예기치 않은 토큰 : punc 내가 UglifyJs 구문 에러에서</p> <p>을 얻고있다
- 24. 각도 2 경로 매개 변수로 현재 URL
- 25. 현재 각도 2.x 버전 확인
- 26. 각도 2 생기를 현재 공중 선회 요소는
- 27. 각도 2, 예상치 못한 토큰 <위치 0의 JSON에서
- 28. 각도 2 데이터가 바인딩되지 않음 <table>
- 29. 각도 2 rxjs switchmap이 Observable을 반환합니다 <Object>
- 30. 각도 2 i18n : translating <option> 값