在Backbone中是否有一个模型属性绑定到输入字段,以便当输入值更改时,模型属性将自动设置为当前值?
目前我的观点中有以下内容
<input type="text" name="firstname" class="form-input" value="<%- model.firstname %>" />
然后在视图中我听取以下事件并相应地设置模型属性
events: {
"keydown .form-input": "setAttribute"
},
setAttribute: function() {
//Use model.set on the attribute that was changed
}
对我而言,这似乎是一种糟糕的做法。我错过了一种更简单的方法吗?
答案 0 :(得分:4)
这是使用vanilla Backbone进行此操作的正确方法。如果您想设置自动数据绑定,则需要使用Epoxy之类的插件。
使用Epoxy,您的示例如下所示:
var BindingView = Backbone.Epoxy.View.extend({
bindings: {
"[name=firstname]": "value:firstName",
}
});
这会将模型的firstName
属性绑定到name="firstname"
的输入。