我想要一个名为' fire'的按钮,但即使我指定了该值,该名称也不会显示,只是一个空按钮。请帮忙。
var Tweets = Backbone.View.extend({
tagName: 'button',
id: 'tweets',
className: 'btn btn-primary',
value: 'fire',
initialize: function() {
},
render: function() {
return this;
}
答案 0 :(得分:2)
使用视图的“attributes”属性,该属性允许您指定名称+值对的散列。它们将作为属性包含在生成的DOM元素中(即,在您的情况下为“按钮”)。
将此添加到您的推文声明:
...
attributes: { "name": "fire" },
...
这会导致生成的按钮元素如下所示:
<button name="fire" id="tweets" class="btn btn-primary" value="fire"></button>
相关文档在此处:http://backbonejs.org/#View-attributes
但请注意,当您询问如何指定“名称”时,这可能不是您真正想要做的。如果你的目标是获得一个按钮元素,按钮本身上显示“fire”文本,你需要设置按钮标记的内容,而不是标记的某些属性。
按钮元素的相关文档位于:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button
为此,您需要更新渲染方法以手动设置生成的“button”元素的内容。这样的东西应该适用于渲染方法:
render: function() {
this.$el.text("fire");
return this;
}
这会导致生成的按钮元素如下所示:
<button id="tweets" class="btn btn-primary" value="fire">fire</button>