Meteor模板#if块不评估多个选项

时间:2015-02-12 08:12:39

标签: meteor spacebars

我有一个if语句,它检查多个角色,如下所示:

{{#if isInRole 'User' 'Admin'}}
    {{> dashboard}}
{{/if}}

此条件if块仅检查第一个选项,而不评估第二个选项。例如,当用户登录仪表板模板时,如果正确呈现,但管理员登录时不会呈现。是否有特定的方法来指定此OR条件?

2 个答案:

答案 0 :(得分:1)

实际上,当有多个选项时,可以这样做:

{{#if isInRole 'User, Admin'}}
   {{> dashboard}}
{{/if}}

答案 1 :(得分:0)

如果只是命名参数,这应该可以正常工作:

{{#if isInRole arg1='User' arg2='Admin'}}
  {{> dashboard}}
{{/if}}

您可能必须将辅助函数修改为可以处理像这样传入的参数的东西。这可行:

...
isInRole: function(args) {
  return _.some(args.hash);
},
...

请注意,实际的参数名称是无关紧要的,只需要提供它们。