Javascript 使用多个模板呈现一个集合

Javascript 使用多个模板呈现一个集合,javascript,backbone.js,templating,Javascript,Backbone.js,Templating,我正在构建一个新闻提要类型的特性,它需要客户端呈现提要项。有不同类型的提要项,这意味着每种类型都需要不同的模板。我目前正在使用下划线js模板,但对新想法持开放态度 我使用的方法大致如下: template : { f : "<li> <%= item.user.name %> uploaded a file </li>", // file upload m : "<li> <%= item.user.name %> ju

我正在构建一个新闻提要类型的特性,它需要客户端呈现提要项。有不同类型的提要项,这意味着每种类型都需要不同的模板。我目前正在使用下划线js模板,但对新想法持开放态度

我使用的方法大致如下:

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);
模板:{
f:“
  • 上传了一个文件”
  • ,//文件上传 m:“
  • 刚加入
  • ”,//刚加入 p:“
  • -
  • ”//评论 } var html=“”; 用于(饲料项目中的i){ var项目=饲料项目[i]; html+=\.template(模板[item.type],{item:item}); } $('#container').html(html);
    这是解决此问题的最佳方法吗?

    模板

    将JavaScript模板编译成可以进行渲染评估的函数。用于从JSON数据源呈现复杂的HTML

    据我所知,这应该是非常有效的

    这是最有效的吗

    很难说,最有效的方法就是硬编码字符串不是吗?但是,根本不需要查找,有时最好牺牲一点效率来获得更可读的代码

    您有任何性能问题吗?如果你不这样做,我就不会担心了。如果是这样的话,我将不考虑这是否是最有效的模板,而是分析应用程序,因为瓶颈很可能在别处。

    取决于。。。“高效”是指“快速”还是指“最有利于开发人员的生产力”?我认为任何将HTML模板放在JavaScript中的东西都会对后者不利。