2

我发现 Ember.js 中车把模板的限制绝对是严重的。您不能执行任意 javascript。你得到的只是一组固定的能力(if/else、each、action、view、outlet)和输出当前上下文对象的属性值的能力。

这意味着我无法弄清楚如何做一些像使用循环计数器这样简单的事情,以便例如根据我正在迭代的集合中的位置在循环内的 html 元素上拍打位置 ID。

将其添加为模型的计算属性是没有意义的,因为这不是模型级别的知识(同一模型可能在不同视图中的两个不同位置)。

仅供参考 - 在 PostgreSQL 上使用 Ember-1.0-pre、Ember-Data 和 Rails 和 ActiveModel::Serializers。

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 回答