저는 AngularJS이지만 MVC/MVVM 프레임 워크를 잘 알고 있습니다. 나는 OO 배경에서 왔지만 Javascript의 준 기능적 성격을 배우는 데 상당한 시간을 투자했다. 이제까지 클로저가 의미있는 사용을하지 않고 클로저를 이해한다고 가정 해 보겠습니다.
저는 AngularJS에서 컨트롤러 개념과 $ scope 개념의 차이점을 명확하게하려고합니다.
이하 '$ scope'개체를 사용할 때 AngularJS의 'scope'개념을 사용할 때주의해야합니다.
AngularJS Conceptual Overview (http://docs.angularjs.org/guide/concepts) 컨트롤러는 뷰와 컨트롤러 사이의 접착제로 범위를 사용하는 것으로 설명됩니다. 범위는 모델 컨테이너와 비슷합니다.
이것은 의미가 있습니다.
$ scope 객체에 함수가 추가 된 곳에서 보았던 모든 예제가 의미가 없습니다. $ scope 객체가 컨트롤러의 본문입니까? 그렇다면 '범위'개념과 혼동 스럽기 때문에이 개체의 이름이 적절하지 않습니까?
은 $ 범위는 뷰와 컨트롤러 모두가 알고있는 객체입니다
고마워요! 따라서 뷰와 관련된 비즈니스 로직은 컨트롤러 또는 $ 범위에 포함됩니까? 이것들은 같은 것입니까? 사람들이 $ scope에 메소드를 추가하는 것을 봅니다. –
뷰에 무엇인가 노출하고 싶다면 뷰를 $ scope에 첨부하십시오. 데이터 변환을위한 다른 방법은 콘트롤러 안에 넣을 수 있지만 대개 모든 계산이나 변환 후에 $ scope에서 찾을 수 있습니다 :) –
Thanks 다시! 그래서 서버에서 JSON 객체 조작은 컨트롤러에 있지만 div의 배경을 변경하는 코드는 $ scope에 있어야할까요? –