2012-09-21 5 views
2

MVVM 디자인 패턴에 익숙하지 않고 일부 샘플을 빌드 할 때 페이지에 구성 요소를 초기화하기 위해 javascript 코드를 어디에 넣어야합니까? 뷰 모델에 포함하거나 간단한 함수를 만들거나 다른 객체를 만들까요?MVVM 모델에서 초기화를 수행하는 것이 합리적입니까?

예를 들어 jquery ajax를 통해 채워야하는 양식에 드롭 다운이 있다고 가정합니다. 해당 코드를 넣을 수있는 가장 좋은 곳은 어디입니까?

var viewModel = function() { 
    this.firstName = ko.observable(first); 
    this.lastName = ko.observable(last); 
    init:function() { 
     //Load components here 
    } 
}; 

$(document).ready(function() { 
    viewModel.init(); 
} 

답변

2

는 녹아웃으로, 당신은 self 방법을 사용해야합니다. 그리고 귀하의 질문에 대답, 같은 초기화 코드가 있어야합니다 :

var viewModel = function() { 
    var self = this; 
    self.firstName = ko.observable(first); 
    self.lastName = ko.observable(last); 
    self.retrieveData = function() { 
      $.ajax({ 
       url: "test.html", 
       success: function(data) { 
       self.firstName(data.firstName); 
       self.lastName(data.lastName); 
       } 
      }); 
    }; 
}; 

$(document).ready(function() { 
    var vm = new viewModel(); 
    vm.retrieveData(); 
} 
관련 문제