当我们点击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");
}
});
请帮帮我。
答案 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}}
,因为下拉菜单可能在外面。