骨干模型的动态属性

时间:2013-04-11 19:49:03

标签: backbone.js backbone-views backbone-model

我有一个名为User的backbonejs模型。用户拥有城市,州和国家/地区的属性。我在这个名为locationString的模型上有一个函数,它根据模型上的属性是否为presnet输出逗号分隔列表。即亚特兰大,佐治亚州或乔治亚州或亚特兰大,所以只有逗号才有。

我通过调用var json = model.toJSON()然后通过执行json.location_string = this.model.locationString();设置位置字符串,在我的视图的render方法中为我的模板设置json。

我还通过在视图上的initialize函数中调用this.model.bind('change', this.render);来将模型的change事件绑定到我的render方法。

在视图中更改了模型更新中的所有其他属性,但location_string属性没有。

非常感谢任何帮助

location_string: function() {                                                                                                                                                                                      var loc_str = "";      
loc_str += this.city || "";      
loc_str += (this.city && this.geo_state) ? ", " : "";      
loc_str += this.geo_state || "";      
loc_str += (this.geo_state && this.country) ? ", " : "";      
loc_str += this.country || "";      
return loc_str;    
},

1 个答案:

答案 0 :(得分:1)

我想出来是因为我打电话给this.field_name而不是this.get('field_name')

我希望这有助于其他人。