【问题标题】:Using helper arguments and template keyword arguments at the same time同时使用辅助参数和模板关键字参数
【发布时间】:2015-10-05 02:54:31
【问题描述】:

我有一个模板taskList,它接收一个任务列表和一个选项哈希作为参数,如下所示:

{{> taskList tasks=taskHelper options=listOptions}}

在这种情况下,taskHelper 返回所有现有任务。 在这种情况下是否可以将参数传递给taskHelper 例如,如果我只想在模板中显示 done 任务,我想做一些事情像这样:

{{> taskList tasks=taskHelper 'done' options=listOptions}}

这不起作用,因为模板编译器不会将 'done' 视为帮助程序的参数,而是将其视为模板的非关键字参数,从而导致以下错误消息:

Can't have a non-keyword argument after a keyword argument

【问题讨论】:

    标签: meteor meteor-blaze meteor-helper


    【解决方案1】:

    流星

    您可以通过以下方式使其工作而不需要对您的助手进行任何更改:

    {{#with taskHelper 'done'}}
      {{> taskList tasks=this options=listOptions}}
    {{/with}}
    

    流星>= 1.1.1

    Nested helper expressions应该可以解决这个问题:

    {{> taskList tasks=(taskHelper 'done') options=listOptions}}
    

    【讨论】:

    • 谢谢!第二个版本是我最先尝试的,所以很期待1.1.1。 :)
    • 哇!最终我们可以摆脱所有这些可怕的{{#with}}!感谢您的回答。
    猜你喜欢
    • 2023-03-07
    • 1970-01-01
    • 2015-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多