簡體   English   中英

使用多個模板渲染一個集合

[英]Rendering one collection using multiple templates

我正在構建新聞提要類型功能,該功能需要客戶端提要提要項。 提要項有不同類型,這意味着每種類型需要不同的模板。 我目前正在使用UnderscoreJS模板,但願意接受新的想法。

我正在使用大致這樣的方法:

template : {
    f : "<li> <%= item.user.name %> uploaded a file </li>", // file upload
    m : "<li> <%= item.user.name %> just joined </li>", // just joined
    p : "<li> <%= item.user.name %> - <%= item.data.txt %> </li>" // comment
}

var html="";

for(i in feeditems){
    var item = feeditems[i];
    html+= _.template(template[item.type], { item: item });
}

$('#container').html(html);

這是解決此問題的最佳方法嗎?

來自Underscore.js文檔

模板

將JavaScript模板編譯成可以評估以進行渲染的函數。 對於從JSON數據源呈現HTML的復雜位很有用。

根據我的閱讀,它應該非常有效。

是最有效的嗎?

很難說,最有效的方法是僅對字符串進行硬編碼,不是嗎? 根本不進行查找,但是,有時最好犧牲一點效率以擁有更具可讀性的代碼。

您有任何性能問題嗎? 如果您不這樣做,我不會擔心。 如果您這樣做了,我會分析應用程序,而不是考慮這是否是最有效的模板,因為瓶頸很可能在其他地方。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM