2012-08-05 3 views
0

모든 모델과 지원 모듈의 이름은 공백입니다. 현재 나는 이것들을 초기화한다. 일종의 onload에서 initAll()을 호출합니다.MVC에서 모델을 초기화하는 방법 | 다른 옵션

MC는 모델 컨트롤러 및 Su의 지원을 나타냅니다.

/** 
** initAll 
*/ 

MC.initAll = function() { 

    MC.MATweet.init(); 
    MC.MABAdder.init(); 

    MC.MASettings.init(); 

    MC.MUserTry.init(); 
    MC.MUserNew.init(); 
    MC.MUserExist.init(); 

    Su.UserOut.init(); 
    Su.Media.init(); 
} 

당연히 각자 자신의 init() 함수가 있습니다. 나는 init 프로퍼티를 체크하기 위해 hasOwnProperty를 사용하고, 존재한다면 그것을 호출하기 위해 이것을 업데이트 할 계획이다. 이 함수는 기본적으로 네임 스페이스를 검사하는 루프가됩니다.

다른 방법으로 모델을 초기화 할 수 있습니까? 경량 응용 프로그램을위한 좋은 방법입니까?

답변

0

한 가지 방법은 모든 모델을 이와 같이 반복하고 각 모델에서 속성 init를 확인하는 것입니다. 거기에 있다면 전화 해. 이렇게하면 초기화가 자동으로 수행됩니다 ... 각 모델에서이를 정의해야합니다.

for (var key in MC) { 
    if(MC.hasOwnProperty(key)) { 
     if(MC[key].hasOwnProperty('init')) { 
      MC[key].init(); 
     } 
    } 
} 
관련 문제