2

次のように、ファイルからテンプレート ハンドルバーを取得する方法:

App.ApplicationView = Ember.View.extend({templateName: 'templates/myTemplate1.handlebars'});

スクリプトからではありません:

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

アップデート

Ember-Brunchハンドルバー テンプレートのプリコンパイルを実装します

4

2 に答える 2

2

完成したアプリケーションを組み立てるつもりなら、rake-pipelineのようなものを使うことができます。もちろん、これは、開発中にrake-pipelineも使用する必要があることを意味します。

テンプレートをアセンブルしたくない場合は、アプリでEmber.TEMPLATES ['templateName'] = Ember.Handlebars.compile('template content going here')を呼び出すことができます。次に、これらのテンプレートを別のファイルに分割して、index.htmlファイルに含めることができます。

それ以外に選択肢はないと思います。AJAX呼び出しを介してテンプレートをフェッチし、それらをEmber.Handlebars.compileにフィードすることもできますが、その場合、アプリケーションのライフサイクルの後半でテンプレートを使用できるようになるリスクがあります。もう1つのオプションは、Emberアプリを配信するサーバー上でこのオンザフライで生成することですが、その場合、ほとんどの場合、独自のソリューションを構築する必要があります。

Ember.TEMPLATES ['']オプションを使用するアプリケーションについては、以下を参照してください:https ://github.com/joachimhs/haagen-software.no/tree/master/app/

少し面倒ですが、慣れます…

この種の機能にはそれほど多くの優れたオプションはなく、Ember.jsがそれについてできることはそれほど多くありません。。

于 2012-09-03T19:08:46.337 に答える
0

requirejs+require-handlebars-pluginはあなたが必要としていることを正確に実行すると信じています。ただし、requirejsを使用するようにjsアプリケーションを変換する必要がありますが、それは難しいことではありません。

于 2012-09-20T00:53:16.417 に答える