2

私は、Ember.js のハンドルバー テンプレートの制限が完全に不自由であることを発見しました。任意の JavaScript を実行することはできません。取得できるのは、一連の機能 (if/else、each、アクション、ビュー、アウトレット) と、現在のコンテキスト オブジェクトのプロパティの値を出力する機能だけです。

つまり、たとえば、ループ内の html 要素の位置 ID をループ内のコレクション内の位置に基づいてスラップするために、ループ カウンターを利用するような単純なことを行う方法がわかりません。

それをモデルの計算されたプロパティとして追加しても意味がありません。これはモデル レベルの知識ではないためです (同じモデルが異なるビューの 2 つの異なる位置にある可能性があります)。

参考までに、PostgreSQL で ActiveModel::Serializers を使用して Ember-1.0-pre、Ember-Data、および Rails を使用しています。

4

3 に答える 3

9

handlebars.js(v。1.0.rc1)を使用すると、次のことができます。

 {{#each links}}
   <li>{{@index}} - {{url}}</li>
 {{/each}}
于 2012-11-28T09:55:10.490 に答える
3

任意のJavaScriptを実行できるハンドルバーヘルパーを作成することをお勧めします。いくつかの例については、 http://handlebarsjs.comを参照 してください。

または、モデルではなく、子ビューに位置IDを含めることもできます。

于 2012-09-08T23:37:17.590 に答える
2

ループ カウンターを提供することが、このページの最後の例の正確な主題であることがわかります。

http://handlebarsjs.com/block_helpers.html

(Dan G は既に彼の回答で「ヘルパーを作成する」ソリューションを指摘していますが、既に公開されている例があるため、リンクをより目立たせるために新しい回答を作成したかったのです。)

于 2012-09-17T16:51:15.957 に答える