同时使用辅助参数和模板关键字参数

时间:2015-07-15 21:02:44

标签: meteor meteor-blaze meteor-helper

我有一个模板taskList,它接收一个任务列表和一个选项哈希作为这样的参数:

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

在这种情况下,taskHelper将返回所有现有任务。 是否可以在此方案中将参数传递给taskHelper例如,如果我只想在模板中显示已完成任务,我想做这样的事情:

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

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

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

1 个答案:

答案 0 :(得分:2)

流星< 1.1.1

通过这样做,您可以在不对助手进行任何更改的情况下使其正常工作:

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

meteor> = 1.1.1

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

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