WebAPI와 녹아웃을 사용할 때 전혀 해가 없습니다. 녹아웃은 클라이언트 바인딩 라이브러리이고 WebAPI는 서비스 계층입니다.
- WebAPI에서 반환되는보기 모델을 계속 만들 수 있습니다.
- MVC 컨트롤러를 사용하여 뷰를 반환 할 수 있습니다.
- 녹아웃을 사용하여 클라이언트 측보기 모델 및 상호 작용을 관리 할 수 있습니다.
일반적인 접근법 (WebAPI 및 웹 API의 모델 바인딩을 많이 읽으십시오)이 가능합니다.
- MVC 프로젝트 -> 요청 된 동작을 기반으로보기를 제공하는 컨트롤러가 포함되어 있습니다.
- 웹 API - 비즈니스 로직을위한 서비스 계층.
- 뷰 모델을 정의하기 위해 모듈러 자바 스크립트 (requirejs, knockout 및 Javascript에서 드러난 모듈 패턴에 대한 읽기)를 사용하여 API에서 제공하는 뷰 모델로 생각하지 마십시오. 클라이언트 측 상호 작용, 계산 된 관찰 가능 항목도 정의됩니다. 등)
- 뷰 모델을 가져 와서 DOM에 바인딩하는 바인더 JS 모듈을 만듭니다.
이 접근법을 수행 할 때 알아야 할 사항 1. 레이아웃 및 일부 부분에 바인딩이 있고 ko.applyBindings (new vm()); 오류가 표시됩니다. 대신 뷰 모델 데이터의 컨테이너 역할을 할 특정 div 또는 요소에 바인딩하십시오. 2. 웹 API 모델 바인더는 ASP.Net MVC 모델 바인딩과 다릅니다. 이것에 대해 읽어보십시오. 3. 특정 일을 작은 모듈로 자바 스크립트 파일을 분리하고 당신은 더 나은 일을 처리 할 수 있습니다.
자세한 내용은 ASP.Net을 사용하여 단일 페이지 응용 프로그램을 찾아보십시오. ASP.Net 및 VS2012 업데이트의 새로운 릴리스에는 SPA 템플릿과 knockout/WebAPI 및 Ember, Angular 등 기타 라이브러리 사용에 관한 많은 예제가 있습니다.
희망이 있습니다.
건배!