Nodejs呈现具有相同名称的多个项目

时间:2014-02-12 07:26:08

标签: node.js underscore.js

我正在尝试使用下划线js渲染,而不是为每个制作模板,我决定使用一个。但是,此代码仅呈现最后一项(配件:行李箱)。有什么方法可以使它发挥作用吗?

exports.maccess = function(req, res) {
    collectionp.find({ "primary_category_id": "mens-accessories-gloves"}).toArray(function(err, gloves) {
        collectionp.find({ "primary_category_id": "mens-accessories-ties"}).toArray(function(err, ties) {
            collectionp.find({ "primary_category_id": "mens-accessories-luggage"}).toArray(function(err, luggage) {
                res.render("maccess", { 
                    _     : _, 
                    accessories : ties,
                    accessories : gloves,
                    accessories : luggage
                });
            });
        });
    });
};

2 个答案:

答案 0 :(得分:2)

如果领带,手套和行李都是阵列,并且你在所有阵列上使用相同的模板,请尝试将它们作为单个阵列传递,例如。

accessories : ties.concat(gloves).concat(luggage)

尝试一下,让我知道它是否有效或者我误解了什么......

答案 1 :(得分:1)

Javascript对象不能包含具有相同键的多个条目(在您的情况下为accessories)。

你必须写一些类似的东西:

accessories: [ties, gloves, luggage]

(并在模板中使用它:accessories[0]accessories[1]accessories[2]

或:

accessories: {
  ties: ties,
  gloves: gloves,
  luggage: luggage
}

并使用它:accessories.tiesaccessories.gloves