Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates Meteor空格键嵌套{{each}}辅助问题_Templates_Meteor_Each_Meteor Blaze_Spacebars - Fatal编程技术网

Templates Meteor空格键嵌套{{each}}辅助问题

Templates Meteor空格键嵌套{{each}}辅助问题,templates,meteor,each,meteor-blaze,spacebars,Templates,Meteor,Each,Meteor Blaze,Spacebars,我有两个集合:testplan和Users TestPlans有一个名为“assigned”的数组,其中包含用户ID。 用户有一个avatarUrl字符串 我需要迭代每个测试计划以及每个分配用户,并为该用户获取一个化身: 类似于{{{each testPlan}{{{each assignedUser}}{{avatarUrl}} testPlans的助手我有: testPlan: function() { var testPlans = TestPlans.find({}, { sort:

我有两个集合:
testplan
Users
TestPlans
有一个名为“assigned”的数组,其中包含
用户ID
用户
有一个
avatarUrl
字符串

我需要迭代每个
测试计划
以及每个
分配用户
,并为该用户获取一个
化身

类似于
{{{each testPlan}{{{each assignedUser}}{{avatarUrl}}

testPlans
的助手我有:

testPlan: function() {
  var testPlans = TestPlans.find({}, { sort: {createdAt: -1}}).fetch();
  return testPlans;
}
assignedUser: function(){
 var assignedUsers = TestPlans.findOne({_id: this._id}).assigned;
 return assignedUsers;
}
assignedUser
的助手我有:

testPlan: function() {
  var testPlans = TestPlans.find({}, { sort: {createdAt: -1}}).fetch();
  return testPlans;
}
assignedUser: function(){
 var assignedUsers = TestPlans.findOne({_id: this._id}).assigned;
 return assignedUsers;
}
不过,我不确定如何为每个
分配的用户调用
avatarUrl
。 问题是

Users.findOne({_id: thisUserId}).profile.avatarUrl;

只是不确定如何准确地传递用户ID。

如果assignedUsers是一个用户ID数组,那么在这种情况下,这可能是最好的实现

//html
{{#each testPlan}} 
   {{#each assignedUser}}
     {{profile.avatarUrl}}
     //you can do this because {{this}} is the user object
     //{{profile.avatarUrl}} is the same as {{this.profile.avatarUrl}}
   {{/each}}
{{/each}}

//js
assignedUser: function(){
   var assignedUsers = TestPlans.findOne({_id: this._id}).assigned;
   var usersCursor = Users.find({_id:{$in:assignedUsers}}});
   return usersCursor;
}

我将更改您的assignedUser模板帮助器以接受用户ID参数,然后返回化身URL

assignedUser: function(userId) {
  return Users.findOne({_id: userId}).profile.avatarUrl
};
然后你的模板代码看起来像这样

{{#each tp in testPlan}}
  {{#each au in tp.assignedUser}} 
    {{avatarUrl au._id}}
  {{/each}}
{{/each}}

此外,我喜欢在
中使用
each…而不仅仅是
each
,因为它使实际发生的事情更加明确

查看
中的
each…: