2015-09-15 2 views
0

Я подключаюсь к стороннему API, который возвращает объект, содержащий массив.Основная коллекция для просмотра шаблона

Я пытаюсь получить это в базовую коллекцию, а затем протрубит это к виду.

Я попробовал несколько вещей, что в последнее время что-то простое, как это:

 var MyCollection = Backbone.Collection.extend({ 
      url: '/api/data', 
      parse: function (resp) { 
      return JSON.parse(resp); 
      }, 
     }); 

     var myCollection = new MyCollection(); 
     myCollection.fetch(); 

     return Backbone.View.extend({ 
      template: _.template(tmpl), 

     render: function() {   
      this.$el.html(this.template({ 
       coll: myCollection.toJSON() 
      })); 
      return this; 
     } 

Это просто дать мне [Object Object] в моем шаблоне.

Если я пишу его на консоли, я просто вижу:

YourCollection 

[Object] 
    yourdata.metadata: "www.xyz.edu/" 
    value: Array[3] 
     0: Object 
      Id: "000" 
      Name: "Name0" 
      IsValid: True 
     1: Object 
      ID: "111" 
      Name: "name1" 
      IsValid: True 
     3: Object 
      ID: "222" 
      Name: "name2" 
      IsValid: True 

Было бы хорошо, если бы я мог получить каждый элемент массива в его собственной модели, но я не уверен, как это сделать ,

Спасибо!

ответ

1

Похоже вам нужно фильтровать фактический сбор внутри parse метода:

function (resp) { 
    return JSON.parse(resp).value; 
} 
+0

Но у меня есть метод разбора. это в моей коллекции – SkyeBoniwell

+1

Примечание '.value' в конце –

+0

Это подводит меня ближе! Это избавилось от объекта контейнера и оставило меня только с массивом. – SkyeBoniwell

Смежные вопросы