对于每个循环加载最后一个对象只有流星

时间:2015-02-04 05:38:24

标签: meteor

当我们点击family_type时,我们需要获取材料。 在material_list中,助手只加载我需要根据所需材料加载每个族的最后一个对象。

{{#each search_family_list}}
                                <li class="dropdown-submenu active"><a href="#" id="{{ family_id }}" class="family_type"><img src="" />{{ description }}</a>
                                    <ul class="dropdown-menu">

                                        {{#each material_list}}
                                            {{#each this}}
                                            <li><a href="" id="{{ material_id }}">{{ description }}</a></li>
                                            {{/each}}
                                        {{/each}}

                                    </ul>
                                </li>
                            {{/each}}

这是我的帮助班

 Session.setDefault('materials_list',[]);

Template.header.events({
    "click .family_type": function (event, template)
    {

        Meteor.call('get_family_materials',event.target.id,function(err,result){
            if(err)
            {
                console.log(err);
            }
            else
            {
                Session.set('materials_list',result);
            }
        });
    }
});

Template.header.helpers({
    material_list: function ()
    {
        var family_id = this.family_id;

        console.log(Session.get("materials_list"));
        return Session.get("materials_list");
    }
});

请帮帮我。

2 个答案:

答案 0 :(得分:1)

而不是

Session.set('materials_list',result);

DO

var oldList = Session.get("materials_list");
Session.set('materials_list',oldList.push(result));

<强>解释 Session.set()会将其设置为您告诉它的内容。设置未来值时,它并不关心以前的值。

答案 1 :(得分:1)

删除{{#each this}},然后更改{{#each material_list.id}}

我真的不明白你为什么使用{{this}},但是让我们删除它,另一个{{each material}}告诉我是否有效。

您也可以将3 {{each}}移到1 {{each}},因为下拉菜单可能在外面。