0
我遇到了下劃線模板的問題。marionettejs中的下劃線模板屬性未定義
我在應用程序啓動時獲取當前用戶。所以我通過傳遞ID來創建一個實例,我從cookie中獲取該ID。我將這個模型傳遞給視圖並在那裏獲取它(它並不重要,我這樣做是異步的)。
我得到require.js插件(VAR MSG)一些國際化,所以我使用的功能serializeData
:
if (this.model.attributes.name) {
msg.model = this.model.toJSON();
}
return msg;
在我下劃線的模板,我想如果可能的話,顯示的用戶名,所以我做
<% var model = model; if (model) { %>
<%= model.name.givenName %>
<% } %>
我想通了,如果我不叫var model = model
我甚至不能檢查其存在通過if (model)
,因爲它會拋出一個undefined error
。
我對此感覺有點不好,因爲我不知道如何做得更好。也許我應該使用手柄或小鬍子而不是微型模板。我如何解決這個醜陋的問題?
與「怪異語法」沒有任何關係,它與使用['with']的Underscore模板有關(https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Statements/with)使用一個對象來模擬一堆局部變量。查看已編譯模板函數的'source'屬性,您將看到'with'。 – 2013-02-12 17:47:39