Knockout.js는 자바스크립트 기반의 프론트엔드 프레임워크로, HTML 요소와 JavaScript 객체를 바인딩하여 동적인 UI를 구현할 수 있습니다. 데이터 바인딩은 Knockout.js의 핵심 기능 중 하나로, UI와 데이터 간의 실시간 동기화를 가능하게 해줍니다.
다음은 Knockout.js의 데이터 바인딩 방법에 대한 예시입니다.
-
HTML 요소에 데이터 바인딩하기 Knockout.js에서 데이터 바인딩은
data-bind
속성을 사용하여 구현됩니다. 이 속성을 사용하여 HTML 요소에 데이터와 연결할 수 있습니다. 예를 들어, 아래의 코드는text
바인딩을 사용하여message
변수의 내용을<span>
요소에 표시합니다.<span data-bind="text: message"></span>
-
JavaScript 객체와 데이터 바인딩하기 Knockout.js에서는 ViewModel을 사용하여 JavaScript 객체와 UI 요소를 연결합니다. ViewModel은 데이터와 UI 간의 중개자 역할을 수행하며, 데이터의 변경에 따라 UI가 자동으로 업데이트됩니다.
function AppViewModel() { this.message = ko.observable("Hello, Knockout.js!"); } // ViewModel 인스턴스 생성 var viewModel = new AppViewModel(); // Knockout.js 바인딩 적용 ko.applyBindings(viewModel);
위의 코드에서
AppViewModel
함수는message
변수를ko.observable()
함수로 감싸 데이터 변경을 감지할 수 있는 observable 객체로 만듭니다.applyBindings
함수를 사용하여 ViewModel을 UI에 바인딩하면,message
변수의 변경이 있을 때마다 UI가 자동으로 업데이트됩니다.
이 외에도 Knockout.js는 다양한 데이터 바인딩 기능을 제공합니다. 예를 들어, 입력 필드의 값을 데이터와 바인딩하여 실시간 변경을 감지하거나, 버튼 클릭 이벤트와 데이터를 연결하여 동적인 기능을 구현할 수 있습니다.
더 자세한 내용은 Knockout.js 공식 문서를 참고하시기 바랍니다.