【问题标题】:How to pass an object from to a block helper back to the block in meteor blaze?如何将对象从块助手传递回流星火焰中的块?
【发布时间】:2014-07-14 07:49:08
【问题描述】:

在带来火焰的 Meteor 0.8 之前,我能够将对象传递给自定义块助手内容,如下所示:

return options.fn(object)

现在有了 blaze,块助手需要返回一个类似这样的模板。

return Template.someTemplate

我怎样才能实现旧的行为。我想要的是以下内容:

我使用了一个blockhelper

{{#blockhelper argument="something"}}
   {{somePartOfTheObject}}
{{/blockhelper}}

然后在 blockhelper 定义中,我想根据参数做一些事情,这将返回一个对象。

UI.registerhelper "blockhelper", () ->
   object = getStuffFrom(this.argument)
   return Template.someTemplate(object)

根据 blaze 的需要,我创建了一个最小模板

<template name="someTemplate">
    {{> UI.contentBlock}}
</template>

现在 blaze 不允许将对象传递给此模板,因此可以在块内容中使用它。

我该如何解决这个问题?

我知道流星方式是在控制器中获取对象。但由于我想将其用于原型设计框架,我希望能够直接从块助手创建所述对象或多个对象,因此有人可以传递将转换为对象的参数。

【问题讨论】:

    标签: meteor meteor-blaze


    【解决方案1】:

    解决方案非常简单。

    如果我有帮手:

    UI.registerhelper "blockhelper", () ->
       object = getStuffFrom(this.argument)
       return Template.someTemplate
    

    helper 的变量和对象实际上在模板中是可用的。所以你只需这样做:

    <template name="someTemplate">
        {{> UI.contentBlock object}}
    </template>
    

    【讨论】:

      猜你喜欢
      • 2016-11-17
      • 2023-03-16
      • 1970-01-01
      • 2016-05-18
      • 2017-12-03
      • 2019-02-10
      • 2015-07-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多