다른 JavaScript-MVC 프레임 워크에서 AngularJS를 구별하는 한 가지는 바인딩에서 바인딩 된 값을 JavaScript에서 HTML로 에코하는 것입니다. Angular는 $ scope 변수에 값을 할당 할 때 "자동으로"이것을 수행합니다.AngularJS에서 바인딩과 소화는 어떻게 이루어 집니까?
하지만 자동이 어떻게됩니까? 때로는 Angular가 변경 사항을 인식하지 못하기 때문에 $ scope를 호출해야합니다. $ apply() 또는 $ scope. $ digest()는 변경 내용을 각도로 알려줍니다. 때로는 그 중 하나를 실행하면 오류가 발생하고 이미 다이제스트가 진행 중임을 나타냅니다.
바인딩 ({{}} 중괄호 또는 ng-attributes 안에있는 항목)은 eval로 표시되므로 Angular가 $ scope 객체를 계속 폴링하여 변경 사항을 찾은 다음 eval을 사용하여 변경 사항을 푸시합니다. DOM/HTML에? 또는 AngularJS는 변수 값이 변경되거나 할당 될 때 트리거되는 이벤트를 발생시키는 사용 마술 변수를 어떻게 든 알아 냈습니까? 나는 모든 브라우저에서 완벽하게 지원되는 것을 들어 본 적이 없으므로 의심 스럽습니다.
AngularJS는 바인딩 및 범위 변수를 어떻게 추적합니까?
"Hello World 예가 데이터 바인딩 효과를 얻는 방법은 다음과 같습니다."로 시작하는 http://docs.angularjs.org/guide/concepts#runtime의 절을 참조하십시오. –
이 게시물은 아직 보지 않은 경우에도 유용합니다. http://stackoverflow.com/questions/9682092/databinding-in-angularjs/9693933#9693933 – Gloopy
첫 번째 선언 단락에 대한 의견 : Angular의 "바운드 에코 기능 자바 스크립트에서 바인딩을 사용하는 HTML 로의 값 "은"데이터 바인딩 "을 말하는 혼란스러운 방식으로 들립니다. 그리고이 시점에서 Angular는 Ember 또는 React와 같은 다른 프레임 워크와 별개로 설정하지 않습니다. 질문은 유용합니다. 오해하지 마십시오. 그러나 첫 단락은 내가 동의하지 않는 의견 일뿐입니다. 나는이 질문을 편집 하겠지만 충분히 권위를 느끼지는 못합니다. –