2015-04-12 137 views
3

在Backbone中是否存在绑定模型属性到输入字段,以便当输入值更改时,模型属性会自动设置为当前值?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

joews是正确的;你的代码对Backbone来说非常好。为什么你看起来不好? –

回答

4

这是用vanilla Backbone做到这一点的正确方法。如果你想设置自动数据绑定,你需要一个像Epoxy这样的插件。

采用环氧树脂,你的例子看起来是这样的:

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

这种结合模型的firstName属性与name="firstname"输入。