2012-03-19 144 views
5

我很新來的骨幹,但我設法讓它從教程工作。但是當我想將這些應用程序移植到骨幹模板時,我發現自己陷入了模板。如何從我的模板訪問我的模型?甚至從js文件本身?現在我發現自己在這裏停留了一段時間。骨幹鍋爐板模板

骨幹樣板指https://github.com/tbranyen/backbone-boilerplate

+0

你可以給一些細節/片段顯示什麼代碼不工作? – rfunduk 2012-03-19 13:21:32

回答

4

爲JavaScript模板庫,模板在兩相出現最大。

  1. 向模板引擎的「編譯」函數傳遞一個字符串(通常包含HTML)。這會返回一個可以執行的「模板函數」。這隻需要在應用程序的整個生命週期中爲每個模板執行一次。
  2. 通過調用編譯的模板函數並提供模板可用的數據的「上下文」,將模板渲染爲輸出(通常爲HTML)。這可以通過不同的上下文數據重複執行,以輸出不同的HTML。

//Compile your template string into a function 
//Happens 1 time only then you can cache the function 
var templateFunction = _.template("<p>Your <%- part %> is so <%- description %></p>"); 

//Generate your output HTML with varying sets of data. 
var html1 = templateFunction({part: "nose", description: "big"}); 
//html1 has "<p>Your nose is so big</p>"; 
var html2 = templateFunction({part: "cat", description: "fat"}); 
//html2 has "<p>Your cat is so fat</p>"; 

這是下劃線模板,JST,玉和其他大多數模板引擎的基本思想。 「上下文數據」是您的模板如何訪問您的模型。如果你願意,你可以通過提供如下的上下文直接訪問底層模型:{model: myModel};。然後在你的模板中,你可以做一些像<%= model.get("displayName") %>