3

ここにn00b。任意のテンプレートを別のテンプレートに「注入」しようとしています。しかし、私はそれを間違っているようです:)

whatever.html:

<template name="parent">
    {{child}}
</template>

<template name="child1">
  I'm child 1
</template>

<template name="child2">
  I'm child 2
</template>

何でも。コーヒー

x = "child1"
Template.parent.child = -> Template[x](@)

これにより、結果として「注釈付きHTML」(http://docs.meteor.com/#template_call)が作成されますが、{{child}}ヘルパーの出力はhtmlでエンコードされているため、解釈されません。

Template.myTemplate.renderedイベントを使用して、jQueryを使用してテンプレートをDOMに直接追加できることを認識しています。しかし、それはかなりハックのようです。可能であれば、ヘルパーにそれを生成してもらいたいです。

これを行うための「正しい」方法は何ですか?テンプレートで結果をエスケープ解除することは可能ですか?反応性は機能しますか?

よろしくお願いします!!1

よろしく

4

1 に答える 1

17

a{{doubleBrace}}は HTML をエスケープしますが、 a は HTML を{{{tripleBrace}}}エスケープせず、そのままレンダリングします。

編集:私はそれを別の方法で言及しました。

Handlebars docs から - 「Handlebars は、{{expression}} によって返される値を HTML エスケープします。Handlebars に値をエスケープさせたくない場合は、'triple-stash' を使用してください。」

于 2013-03-04T16:46:51.907 に答える