2012-02-07 7 views
3

JavaScript와 knockoutjs를 처음 사용했습니다. 이것은 아마도 가장 기본적인 질문 일 것이고 나는 여기에 묻기를 바보가되지 않기를 바란다 ...knockoutjs의 뷰 모델 선언하기

많은 문서에서 두 가지 다른 방법으로 선언 된 뷰 모델을 볼 수있다. 때로는 함수로 선언되고 다른 때에는 평범한 객체입니다. 차이점은 무엇이며 각각을 사용할 시나리오는 무엇입니까?

var viewModel = { 
     property: ko.observable() 
    } 

또는

var viewModel = function(){ 
     this.property = ko.observable() 
    } 

사과이 바보 같은 질문 경우 ....

+0

'부동산 : ko.observable() '함수 내에서가 아니라'this.property = ko.observable();' – xec

+0

감사 XEC, 내 나쁜. 나는 질문을 수정했다 – macou

답변

1

두 번째 예제 자바 스크립트에서 생성자 함수는 - 자바 스크립트는 "클래스"를 가지고 있지 않기 때문에, 그것이 "클래스와 비슷한"인스턴스 생성을 구현하는 방법입니다.

상세 정보 : http://www.javascriptkit.com/javatutors/oopjs2.shtml는 사용할 수 없습니다

+0

감사의 말, 링크 고맙습니다. 나는 많은 읽을 거리가있다;) – macou

+2

객체 리터럴 (첫 번째 예)은 사용하기가 매우 쉽기 때문에 많은 예제가이를 사용한다. 그러나 뷰 모델을 생성하기위한 함수 (및 모듈 패턴과 공개 모듈 패턴과 같은 패턴)를 사용하면 좀 더 강력 해집니다. 녹아웃을 배우는 동안, 당신이 사용하는 것에 대해 너무 많이 걱정하지 마십시오. 그러나 확실히 그 화제에 읽고 당신이 KO로 더 깊게되는 때 더 이해 될 것이다. –