骨干绑定模型属性输入

时间:2015-04-12 13:09:34

标签: javascript backbone.js

在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
}

对我而言,这似乎是一种糟糕的做法。我错过了一种更简单的方法吗?

1 个答案:

答案 0 :(得分:4)

这是使用vanilla Backbone进行此操作的正确方法。如果您想设置自动数据绑定,则需要使用Epoxy之类的插件。

使用Epoxy,您的示例如下所示:

var BindingView = Backbone.Epoxy.View.extend({
  bindings: {
    "[name=firstname]": "value:firstName",
  }
});

这会将模型的firstName属性绑定到name="firstname"的输入。