KnockoutJS-애플리케이션
KnockoutJS는 단일 페이지 애플리케이션에 널리 사용됩니다. 단일 페이지로드로 필요한 모든 데이터를 동적으로 검색 할 수있는 기능으로 만들어진 웹 사이트는 서버 왕복을 줄여줍니다.
KnockoutJS는 클라이언트 측 프레임 워크입니다. 이것은 HTML을 도메인 데이터에 매우 쉽게 바인딩 할 수있는 JavaScript 라이브러리입니다. MVVM (Model-View-ViewModel)이라는 패턴을 구현합니다. Observables는 KnockoutJS의 마법 성분입니다. Observable 속성으로 인해 모든 데이터가 동기화 상태로 유지됩니다.
건축물
전망
보기는 HTML 요소와 CSS 스타일을 사용하여 만든 사용자 인터페이스에 불과합니다.
KnockoutJS를 사용하여 HTML DOM 요소를 데이터 모델에 바인딩 할 수 있습니다. 'data-bind'개념을 사용하여 View와 ViewModel 간의 양방향 데이터 바인딩을 제공합니다. 즉, UI에서 수행 된 모든 업데이트는 데이터 모델에 반영되고 데이터 모델에서 수행 된 모든 변경 사항은 UI에 반영됩니다. knockoutJS의 도움으로 자체 업데이트 UI를 만들 수 있습니다.
ViewModel
ViewModel은 데이터를 표현하는 데 필요한 속성과 함수를 포함하는 JavaScript 개체입니다. View와 ViewModel은 HTML에서 사용되는 선언적 데이터 바인딩 개념으로 연결됩니다. 이렇게하면 ViewModel을 변경하지 않고도 HTML을 쉽게 변경할 수 있습니다. KnockoutJS는 Observable을 사용하여 자동 데이터 새로 고침을 처리합니다.
데이터 동기화는 DOM 요소를 데이터 모델에 바인딩하고 먼저 데이터 바인딩을 사용한 다음 Observable을 사용하여이 두 구성 요소를 새로 고치면 수행됩니다. 이러한 데이터 동기화로 인해 종속성 추적이 자동으로 수행됩니다. 이를 달성하기 위해 추가 코딩이 필요하지 않습니다. KnockoutJS를 사용하면 디스플레이와 기본 데이터를 직접 연결할 수 있습니다.
애플리케이션 특정 동작에 대한 사용자 정의 바인딩이라고하는 고유 한 바인딩을 작성할 수 있습니다. 이러한 방식으로 Knockout은 데이터를 HTML로 변환하는 방법을 직접 제어 할 수 있습니다.
모델
Model은 서버에있는 도메인 데이터이며 ViewModel에서 요청이 송수신 될 때 조작됩니다.
데이터는 데이터베이스, 쿠키 또는 기타 형태의 영구 저장소에 저장 될 수 있습니다. KnockoutJS는 저장 방법에 대해 걱정하지 않습니다. 저장된 데이터와 KnockoutJS 간의 통신은 프로그래머에게 달려 있습니다.
대부분의 경우 데이터는 Ajax 호출을 통해 저장 및로드됩니다.