我发现backbone.js期望以下形式的json:
{ “ID”:5 “标题”: “富”, “体”: “酒吧”}
但是,我发现json的根源是合理的,特别是当模型嵌套并与其他模型相关时。我如何说服backbone.js以这种方式理解json:
{ “消息”:{ “ID”:5 “标题”: “富”, “体”: “酒吧”}}
答案 0 :(得分:1)
这个问题可能意味着两件事:
由于第一种情况相当微不足道,我想你的意思是第二种情况。
如果您的网络服务吐出这样的JSON,您可以覆盖BackboneJS模型和集合的parse
方法。
基本上你可以使用Backbone's implementation of parse for models并根据需要进行修改。
在你的情况下,这应该可以解决问题:
parse : function(resp, xhr) {
return resp.message;
},
集合的实现可能看起来不同,我没试过。
答案 1 :(得分:0)
请告诉我这是否有帮助。你可以在这里看到它:http://jsfiddle.net/kahhor/haPFD/
(function($){
window.MyModel = Backbone.Model.extend({
defaults:{"message":{"id":5,"title":"Foo","body":"bar"}}
});
window.MyView = Backbone.View.extend({
render: function() {
template= _.template($('#template').html());
$(this.el).html(template(this.model.toJSON()));
$('#container').html(this.el);
}
});
})(jQuery);
$(document).ready(function() {
var MyModel1 = new MyModel ();
var MyView1 = new MyView ({model: MyModel1});
MyView1.render();
});
<div id="container"></div>
<script type="text/template" id="template">
<%= message.id %><br>
<%= message.title %><br>
<%= message.body %><br>
</script>