我在这个项目的开头。我正在使用zurb-foundation和牵线木偶。我有一个元素正在渲染一个应该是标签的模板。目前的情况:
define([
"backbone",
"marionette"
], function(Backbone, Marionette) {
MyItem = Backbone.Marionette.ItemView.extend({
template: "#design-tabs",
className: "section-container tabs",
onRender: function() {
$(this.el).foundation();
}
});
return MyItem;
});
没有标签。我认为这是因为<div>
被渲染以替换<script
&gt;模板中的标签没有特定的数据属性(数据部分)。我去寻找类似'className'的东西,我可以添加到上面的ItemView声明中以包含数据属性,但我已经干了。我想要这样的东西:
MyItem = Backbone.Marionette.ItemView.extend({
template: "#design-tabs",
data: {
data-section: "",
data-foo: "bar"
},
className: "section-container tabs",
.
.
.
如何将数据属性添加到替换模板中<div>
的{{1}}(或其他)?
答案 0 :(得分:39)
要添加数据属性,请使用Backbone的attributes
哈希:
var MyView = Backbone.Marionette.ItemView.extend({
template: "#design-tabs",
className: "section-container tabs",
attributes: {
"data-section": "",
"data-foo": "bar"
}
});
答案 1 :(得分:14)
如果您更喜欢或需要动态值,可以这样做:
attributes: function() {
return {
'src': this.model.get('avatar_src')
};
}