2012-05-04 3 views
0

requirejs를 사용할 때 private 또는 public 메서드를 설정하는 방법이 명확하지 않습니다. 객체 선언에 대한 축약을 사용하기 때문입니다. 다음 코드에서는 속성 "id"와 메서드 "prepareId"가 private 인 경우를 선호합니다.RequireJS 객체의 private 및 public 메소드

define(['jquery'], function ($) { 
    var Asset = Class.extend({ 
     init: function() { 
      this.id = "12345"; 
     } 
     ,getAsset: function() { 
      return this.prepareId(this.id); 
     } 
     ,prepareId: function(id) { 
      return "#" + id; 
     } 
    }); 
    return Asset; 
}); 

답변

2

약간 혼란 스럽습니다. require.js는 반환하는 항목에 대한 규칙을 적용하지 않습니다. "private"속성과 함수를 생성하는 생성자를 반환하려면 그렇게 할 수 있습니다.

다음 (내가 개인적으로 의미하는 바를 정확히 이해한다면) 잘 작동해야합니다.

당신은 또한 RequireJS의 문서에 설명 된 패턴을 사용하여 생성자 이외의 어떤 개인 바르/메소드를 선언 할 수
+1

define(['jquery'], function ($) { var Asset = function() { var id; function prepareId(id) { ... }; ... }; return Asset; }); 
은 - http://requirejs.org/docs/api.html#deffunc –

+0

죄송 내 회신이 지연되고 , 내 응용 프로그램에 대한 존 Resig의 예제를 [단순 자바 스크립트 상속] (http://ejohn.org/blog/simple-javascript-inheritance/) 재사용의 가치를 알아 내려고하고있어. – scader

관련 문제