에 노출됩니다 -model은 클라이언트 측이고 MVC 뷰 모델은 서버 측과 같습니다.
귀하의 질문 : 사용 방법은 어떻게 결정합니까?
답변 : parallel.That가 below.It이 동작에 대한 unit.This보기 모델 등 두 속성과 기능을 포함로 녹아웃 뷰 - 모델이 가질 수있는 하나의 cshtml
페이지 수단으로 당신은 모두 사용할 수 있습니다 클라이언트 측 기능에 필요한 요소. MVC의 뷰 - model.That와
//This is a simple Viewmodel
//JavaScript that defines the data and behavior of your UI
function AppViewModel() {
var self = this;
self.firstName = ko.observable();
self.lastName = ko.observable();
self.fullName = ko.computed(function() {
return self.firstName() + " " + self.lastName();
});
self.capitalizeLastName = function() {
var currentVal = self.lastName();//Read the current value
self.lastName(currentVal.toUpperCase());//Write back a modified value
};
}
그러나 쇼 서버 측 행동에 대한 좀 더 복잡한 (이상의 속성)를 사용할 수는보기에 그 데이터를 데이터베이스에서 데이터를 가져와 보여입니다.
결론 : MVC로 작업 할 때 두보기 모델을 동시에 사용할 수 있습니다.
중요 참고 :하지만 두 시나리오 모두에 대한 단일 뷰 - 모델을 사용해야 할 경우 당신은 당신이 KnockoutJS Mapping plugin
를 사용한다는 것을 also.For 그 일을 할 수 있습니다.
다음과 같이 사용할 수 있습니다. 당신은 내가이 당신에게 도움이되기를 바랍니다 learn.knockoutjs
을 확인 넉 아웃에 대한 자세한 내용을 알고 싶다면
<script src="~/Scripts/knockout.mapping-latest.js"></script>
<script type="text/javascript">
$(function() {
var viewModel = ko.mapping.fromJS(@Html.Raw(Model.ToJson()));
ko.applyBindings(viewModel);
});
</script>
당신은 Loading KnockoutJS View Models from ASP.Net MVC, for faster page loads
에서 이것에 대해 더 자세한 정보를 얻을 수 있습니다.
녹아웃은 클라이언트 측보기 모델을 사용합니다. MVC는 서버 측 뷰 모델을 사용합니다. – SLaks
그럼 둘 중 하나인가요? 어떤 것을 사용할 지 어떻게 결정합니까? – RobVious