在 Meteor 中,有没有办法使用多个助手,即使一个可以处理多个参数?
Posted
技术标签:
【中文标题】在 Meteor 中,有没有办法使用多个助手,即使一个可以处理多个参数?【英文标题】:In Meteor, Is there a way to use multiple helpers even if one can handle multiple arguments? 【发布时间】:2014-09-11 08:06:42 【问题描述】:在我的流星项目中,我有多个助手。 helper1
可以处理多个参数,但即使只有一个参数他也很好。问题是我想将此处理程序与另一个处理程序 (helper2
) 的结果链接起来,该处理程序也需要一个参数(实际的用户数据)。所以我写了以下内容:
helper1 helper2 currentUser
问题在于helper1
似乎有两个参数:helper2
的结果和currentUser
,这意味着helper2
没有得到currentHelper
参数。
我尝试使用括号,这样每个人都可以得到自己的论点,就像这样:
helper1 helper2(currentUser)
或 helper1 (helper2 currentUser)
甚至是括号:
helper1 helper2 currentUser
但是所有这些变通方法都出现语法错误。有什么可行的方法吗?
【问题讨论】:
我认为这是不可能的。如果我正确阅读了以下链接,那么第一个助手将收到其名称 github.com/meteor/meteor/blob/master/packages/spacebars/… 之后的任何内容 我认为有一种方法可以工作,因为 #if helper argument 正在工作。在这种语法中,您可以看到 if 语句也只是一个助手。看看块标签也许你可以定义你自己的。 github.com/meteor/meteor/blob/master/packages/spacebars/… 【参考方案1】:我终于找到了解决这个问题的方法——使用#with
:
#with firstHelper data
secondHelper this
/with
【讨论】:
请注意,如果firstHelper data
的结果是假的,则#with
块的内容永远不会被评估。以上是关于在 Meteor 中,有没有办法使用多个助手,即使一个可以处理多个参数?的主要内容,如果未能解决你的问题,请参考以下文章
在模板上下文中从另一个助手调用一个助手 (Meteor 0.9.4)