2016-12-15 8 views
0

私はを使用しています。JSにJSのベンダーファイルとテンプレートを読み込む必要があります。requireJsを使用して複数のテンプレートファイルを読み込む方法は?

関連するすべてのテンプレートがページに読み込まれているときに、1つの関数を呼び出したいとします。

現在、私は以下のように呼び出す入れ子にする必要があります。

requirejs(['text!templates/stream/leaderboard_m.ejs'], function(Leaderboard_M) 
{ 
     requirejs(['text!templates/stream/leaderboard_tl.ejs'], function(Leaderboard_TL) { 

        loadLeadrboardData(Leaderboard_M, Leaderboard_TL); 

    }); 
}); 

私は1文であることをしたいと思っ:

私は使用してはJSを必要とすることをどのように行うことができますか?

+0

あなたは '([テキスト!何とかを要求できない理由(first、second){load(first、second);}); '?(blah-blah-second.ejs) – xmike

答えて

0

これを見てみましょう:

これはあなたが望むものを次のようになります。

define([ 
    "./services/MyFirstService", 
    "./services/MySecondService", 
    "./services/MyThirdService", 
], 
function (
    MyFirstService, 
    MySecondService, 
    MyThirdService 
) { 
    // all files loaded and can be used now! 
}); 
0

あなたはこれにそれを減らすことができます

requirejs(['text!templates/stream/leaderboard_m.ejs', 
      'text!templates/stream/leaderboard_tl.ejs'], 
      loadLeadrboardData); 

に渡されたリストのすべてのアイテムコールバックがロードされる前にrequire(別名。requirejs)コールがロードされます。また、コールバックには、依存関係のリスト内の各項目の結果が同じ順序でロードされます。したがってrequirejsloadLeadrboardDataと直接電話することができます。

(私は機能が正常に欠けeloadLeaderboardData、ないloadLeadrboardDataを綴られることを期待したいが、これは問題に接線方向であるが、ここで尋ねた。)

関連する問題