13

我想知道在调用视图时是否有办法在模板中绑定数据属性。

例如(这不起作用):

 {{ view App.SomeView data-dateBinding="currentDate" }}

我最终这样做了:

<a {{bindAttr data-date="currentDate"}}></a>

调用视图时一定有办法吗?

4

3 回答 3

13

更多来自@kurt-ruppel 的出色回答。

一个:用于描述属性绑定的示例,完全从视图中完成。

App.SomeView = Ember.View.extend({
  attributeBindings: ["date:data-date"],
  date: function() { return '1642-12-06' }
  .... rest of view
})

更清洁的模板。

{{view App.SomeView}}
于 2013-08-27T15:50:15.447 回答
10

您必须在 App.SomeView 中定义要放入 HTML 中的属性。

App.SomeView = Ember.View.extend({
  attributeBindings: ["data-date"]
  .... rest of view
})

现在data-dateBinding应该工作:

{{view App.SomeView data-dateBinding="currentDate" }}
于 2012-10-10T08:16:30.807 回答
2

FWIW - 这是对@sly7_7 来自顶级答案的评论的回应 - 可以在视图本身中指定 data-* 属性绑定,而不是在模板中设置它。

与 类似classNameBindings,您可以在属性前添加一个首选值,并使用“:”连接这些值。看到这一点的最佳位置可能是在相关的 ember.js 测试中。相信良好测试的价值,看看它有时如何作为最好的文档。

于 2013-04-05T08:47:48.213 回答