3

実際、質問は接続法にあります...ハンドルバーテンプレートフレームワークを作成して、スクリプトタグではなくdivタグ内のテンプレートを認識することは可能ですか?

たとえば、次のマークアップを使用してテンプレートを作成したいと思います。

<style>
    div.text-x-handlebars {display:none;}
</style>
<div class="text-x-handlebars-template">
    <h2>I'm template</h2>
    <p>{{welcomeMessage}}</p>
</div>
4

1 に答える 1

5

<div>はい、テンプレートをsではなくsに入れることができます。<script>次に例を示します。

http://jsfiddle.net/ambiguous/RucqP/

しかし、そうすることには危険が伴います。テンプレートをaに入れると、入力する前に<div>ブラウザがそれをHTMLとして解釈します。そのため、テンプレートのHTMLが入力されるまで有効でない場合、ブラウザはそれを修正して混乱を招く可能性がありますまた、テンプレートに属性がある場合は、重複したs(1つはテンプレート内にあり、DOMに配置した入力済みテンプレート内で繰り返される)になり、あらゆる種類の奇妙で興味深いバグが発生します。ブラウザは、テンプレート内の画像をダウンロードしようとします。idid<div><div>、これは問題である場合とそうでない場合があります(画像がそのsrc属性でテンプレート変数を使用している場合は、望ましい場合もあれば、おそらく望ましくない場合もあります)。

基本的には実行できますが、実行するべきではありません<script id="..." type="text/x-handlebars-template">。代わりに、テンプレートを要素に配置する必要があります。

于 2012-07-25T22:15:09.787 に答える