【问题标题】:Meteor templates #if block does not evaluate multiple optiopnsMeteor 模板#if 块不评估多个选项
【发布时间】:2015-04-12 21:19:06
【问题描述】:

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

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

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

【问题讨论】:

  • 函数 isInRole 需要 1 个或 2 个参数吗?

标签: meteor spacebars


【解决方案1】:

其实在有多个选项的情况下可以这样:

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

【讨论】:

    【解决方案2】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2014-03-04
      • 2012-07-15
      • 2018-05-13
      • 1970-01-01
      • 2021-07-01
      • 2011-08-10
      • 2012-01-25
      • 1970-01-01
      • 2018-08-17
      相关资源
      最近更新 更多