0

今週初めにリリースされた peepcode スクリーンキャストで、次のようなものを使用してハンドルバー テンプレートの規則をインラインで提供できることに気付きました。

data-template-name="index/tables"

しかし、このテンプレートを HTML ファイルからスタンドアロンの .handlebars ファイルに移動した場合、これの正しい名前は何ですか? そして、プリコンパイルする場合、ember はこれをどのテンプレート名に設定する必要がありますか?

ember.TEMPLATES[ ??? ]

前もって感謝します

4

2 に答える 2

2

私が探していた解決策は@wycats自身から来ました

これがネストされたスクリプト テンプレートである場合 (一部の html ファイル内)

<script type="text/x-handlebars" data-template-name="tables/index"></script>

インラインスクリプトを削除してスタンドアロンファイルにすることにした場合は、プリコンパイルしてテンプレートを登録する必要があります

var input = Ember.Handlebars.precompile("{{outlet}}");
Ember.TEMPLATES['tables/index'] = Ember.Handlebars.template(input);

このファイルは index.handlebars と呼ばれ、「tables」ディレクトリの下にネストされ、「templates」ディレクトリの下にネストされます

これに従う人のために、ネストされたテンプレートのサポートを、django 開発者向けに作成した npm モジュール ( django-ember-precompile )に追加しました。

于 2013-01-27T19:38:37.580 に答える
1

その多くは、Ember のコンパイルに何を使用しているかに依存すると思います。ブランチは、スプロケットとは異なることを行います。

しかし、いくつかの一般的なこと:

テンプレートが .handlebars ファイルにある場合、テンプレートに必要なものを除いて、ファイル自体には何も必要ありません。

ファイル構造と命名規則は、ルーターと一致する必要があります。したがって、ファイル ツリーは次のようになります。

javascripts/templates/index/tables.handlebars

Rails Asset Pipeline と Ember Gem を使用すると、テンプレートが app/assets/javascripts/templates フォルダーにある限り、Ember にテンプレートについて知らせる必要はありません。

Brunch を使用していたとき (ただし、これは Ember のはるかに古いバージョンでした)、次のような標準の JavaScript の require を使用して、すべてのファイルを手動で require する必要がありました。

require('templates/topnav');
于 2013-01-27T16:17:12.523 に答える