私は同じページ上でMustache.jsを通してレンダリングされるいくつかの小さなテンプレート文字列を持っています。テンプレートのために別々のhtmlファイルを作成する必要はありません。テンプレートを保存するためのHTMLページ内にHTMLテンプレートを正しく保存するにはどうすればよいですか?
オプション:
javascriptの変数に保存する:ハック複数行の文字列を、引用符のエスケープがたくさん。
隠しdivのinnerHTMLとして保存します。
私は方法2を試みましたが、正しく動作していないようです。
フィドル: http://jsfiddle.net/RHwnq/2/
<html>
<head></head>
<body>
<div id='templates' class='hide' align="">
<div id='tableTemplate'>
<table class="table">
{{#name_list}}
<tr><td> {{name}} </td></tr>
{{/name_list}}
</table>
</div>
</div>
<script>
var template = $('#tableTemplate').html();
console.log(template);
</script>
</body>
</html>
このログ:
{{#name_list}}
{{name}}
{{/name_list}}
<table class="table"><tbody><tr><td></td></tr></tbody></table>
の代わりに:
<table class="table">
{{#name_list}}
<tr><td> {{name}} </td></tr>
{{/name_list}}
</table>
これは、ブラウザによって、いくつかのマークアップ補正に起因するかもしれません。 HTMLページ内にHTMLテンプレートを保存するその他の良い方法はありますか?
同じファイルに保存しないでAJAX経由で読み込むのはどうですか? – feeela
@feeelaいいえ、私は2-3の小さな文字列をロードするためにajax呼び出しをしたくないので、私は同じページにそれらを格納するつもりです。 – DhruvPathak
backbone.js/underscore.jsに関連するチュートリアルでは、タグ内にテンプレートを保存しました。この質問を詳しく見てみましょう:http://stackoverflow.com/questions/4912586/explanation-of-script-type-text-template-script – Marc