0

すべてのモデルとサポート モジュールは名前空間になっています。現在、私はこのようにそれらを初期化しています。ある種のオンロードで initAll() を呼び出します。

MC は Model-Controller の略で、Su Support は 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() 関数があります。hasOwnProperty を使用して init プロパティをチェックし、存在する場合はそこから呼び出すようにこれを更新する予定です。これにより、この関数は基本的にループになります...名前空間をチェックします。

モデルを初期化する他の方法はありますか。これは軽量アプリケーションの良い方法ですか?

4

1 に答える 1

0

1 つの方法は、このようにすべてのモデルをループし、各モデルでプロパティ init をチェックすることです。そこにある場合は、それを呼び出します。これにより、初期化が自動化されます...各モデルで定義するだけです。

for ( var key in MC ) {
    if( MC.hasOwnProperty( key ) ) {
        if( MC[key].hasOwnProperty( 'init' ) ) {
            MC[key].init();
        }
    }
}
于 2012-08-05T21:50:48.810 に答える