Backbone将模型属性绑定到输入框

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

在我看来,这种做法似乎不太好。是否有更简单的方法?

joews是正确的;你的代码对于Backbone来说完全没有问题。为什么你觉得它不好呢? - Stephen Thomas
1个回答

4

这是使用原始的Backbone完成的正确方法。如果您想设置自动化数据绑定,您需要像Epoxy这样的插件。

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

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接