2014-04-03 50 views
0

我想从具有数组的子阵列的JSON中检索我的模型,并且变得疯狂。对象被填充,但不与预期的模型一起使用。我设法让第一级的工作很好,但这个技巧似乎不适用于第2级。任何替代方式这样做将不胜感激。我对Backbone非常了解。如何使用backbone.js中的子集合投射集合

代码:

(function() { 
    "use strict"; 
     APP.Models.User = Backbone.Model.extend({ 
     initialize: function() { 
      var listener = function() { console.log('myUser Updated'); }; 
      this.bind("changes", listener); 
     },   
     url: myurl, 
     parse: function(response){ 
      response.result.contents = new APP.Collections.Library(response.result.contents); 
      response.result.contents.forEach(function(content) {   
       content.set('contacts', APP.Collections.Contacts(content.get('contacts'))); 
      });     
      return response.result; 
     }       
     }); 
}()); 

JSON:

{ 
    "status": 1, 
    "result": { 
     "contents": [ 
      { 
       "contentId": "1", 
       "title": "test 1", 
       "contacts": [ 
        { 
         "nickName": "contact 1", 
         "phoneNumber": "11111" 
        }, 
        { 
         "nickName": "contact 2", 
         "phoneNumber": "22222" 
        }, 
        { 
         "nickName": "contact 3", 
         "phoneNumber": "33333" 
        } 
       ] 
      }, 
      { 
       "contentId": "2", 
       "title": "test 2", 
       "contacts": [ 
        { 
         "nickName": "Contact 4", 
         "phoneNumber": "44444" 
        }, 
        { 
         "nickName": "Contact 5", 
         "phoneNumber": "5555" 
        } 
       ] 
      } 
     ] 
    } 
} 

回答

0

好吧...我傻,我是缺少关键字new APP.Collection.Contacts前()。无论如何,它似乎不是最优雅的方式。任何有关改进的建议都非常感谢。