ブレイズをもたらした Meteor 0.8 より前は、次のようなカスタム ブロック ヘルパー コンテンツにオブジェクトを渡すことができました。
return options.fn(object)
blaze では、ブロック ヘルパーは次のようなテンプレートを返す必要があります。
return Template.someTemplate
どうすれば古い動作を達成できますか。私がしたいことは次のとおりです。
ブロックヘルパーを使っています
{{#blockhelper argument="something"}}
{{somePartOfTheObject}}
{{/blockhelper}}
次に、ブロック ヘルパーの定義で、オブジェクトを返す引数に基づいて何かを実行したいと考えています。
UI.registerhelper "blockhelper", () ->
object = getStuffFrom(this.argument)
return Template.someTemplate(object)
ブレイズの必要に応じて、最小限のテンプレートを作成しました
<template name="someTemplate">
{{> UI.contentBlock}}
</template>
現在、blaze はこのテンプレートにオブジェクトを渡すことを許可していないため、ブロック コンテンツ内で使用できます。
どうすればこれを回避できますか?
流星の方法は、コントローラーでオブジェクトを取得することであることを私は知っています。しかし、これをプロトタイピング フレームワークに使用したいので、ブロック ヘルパーから上記のオブジェクトを直接作成できるようにしたいと考えています。これにより、誰かがオブジェクトに変換される引数を渡すことができます。