2016-12-15 107 views
0

我正在使用要求JS在JS中加載供應商文件和模板。如何使用requireJs加載多個模板文件?

我想在頁面中加載所有相關模板時調用一個函數。

目前我需要嵌套調用象下面這樣:

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

你爲什麼不能'要求([文字!胡說-blah-first.ejs','text!blah-blah-second.ejs],function(first,second){load(first,second);});'? – 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)調用。並且回調會以相同順序加載依賴項列表中每個項目的結果。所以你可以直接撥requirejs電話loadLeadrboardData

(我期望的功能被拼寫正確loadLeaderboardData,不loadLeadrboardData一個丟失了e,但這是切在這裏問這個問題。)