Backbone 模型:基于条件的默认值

Backbone Models: defaults based on a condition

我是 BackboneJS 的新手,希望在基于条件的默认属性方面寻求一些帮助 我如何根据仅当 model.attribute = 'xyz' 在 Backbone 模型中的条件将名称默认为 TEST。

defaults: function() {
  return {
   name: 'TEST'
  }
}

谢谢

您在扩展 Backbone 模型时设置了 defaults,因此您实际上无法访问那里的任何实例属性。

如果您要更改的默认值取决于在实例化时设置的实例模态属性(即 new MyModel({foo:"bar"})),那么您最好在扩展模型时设置 initialize() 回调。

var MyModel = Backbone.Model.extend({
  initialize: function(options) {
    // I have access to this.attributes here
  }
});