【问题标题】:Backbone bind model attribute to input主干将模型属性绑定到输入
【发布时间】:2015-04-12 13:09:33
【问题描述】:

在 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。为什么你觉得它很糟糕?

标签: javascript backbone.js


【解决方案1】:

这是使用香草骨干的正确方法。如果您想设置自动数据绑定,您需要像 Epoxy 这样的插件。

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多