2017-05-23 18 views
0

내가 가지고있는 문제는 listaCollection.fetch()를 호출 한 후 listaCollection.toJSON()을 호출 할 때마다 빈 배열을 반환한다는 것입니다. 그러나 fetch 메소드의 success 콜백에서 console.log (data.toJSON())를 사용하면 올바르게 페치하고 있음을 알 수 있습니다. 나는 백본/마리오넷에 대해 새로운 편이라면 어떤 도움을 주시면 감사하겠습니다. 여기에 코드가 있습니다.백본 Marionette 3 app : 컬렉션 가져 오기 빈 배열을 반환합니다

import Bb from 'backbone'; 
import Mn from 'backbone.marionette'; 
import template from '../templates/ListasTemplate.jst'; 

const ListaCollection = Bb.Collection.extend({ 
    url: "http://localhost:3000/api/v1/lista/all", 
    parse(data) { 
    return data.lista; 
    } 
}); 

const listaCollection = new ListaCollection(); 

listaCollection.on("change", function() { 
    reset(); 
}); 

listaCollection.fetch({ 
    success(data) { 
    console.log(data.toJSON()); 
    } 
}); 

const ListasView = Mn.View.extend({ 
    collection: listaCollection, 
    className: "mdl-grid", 
    regions: { 
    listasContainer: "#listas-container" 
    }, 
    template: template 
}); 

export default ListasView; 

그리고 이것은 내 템플릿입니다 :

<% _.each(items, function(item) { %> 
    <div class="mdl-cell mdl-cell--6-col"> 
    <div class="demo-card-wide mdl-card mdl-shadow--2dp"> 
     <div class="mdl-card__title"> 
     <h2 class="mdl-card__title-text"><%= item.titulo %></h2> 
     </div> 
     <div class="mdl-card__supporting-text"> 
     <%= item.descricao %> 
     </div> 
     <div class="mdl-card__actions mdl-card--border"> 
     <button class="mdl-button mdl-button--icon mdl-js-button mdl-js-ripple-effect show-modal"> 
      <i class="material-icons">arrow_forward</i> 
     </button> 
     <button class="mdl-button mdl-button--icon mdl-js-button mdl-js-ripple-effect"> 
      <i class="material-icons">mode_edit</i> 
     </button> 
     <button class="mdl-button mdl-button--icon mdl-js-button mdl-js-ripple-effect"> 
      <i class="material-icons">clear</i> 
     </button> 
     </div> 
    </div> 
    </div> 
<% }) %> 
+0

'.toJSON()'을 어디에/어떻게 호출했는지는 표시되지 않았습니다. 가져 오기가 완료 될 때까지 기다려야합니다. 이것이 복제본인지 확실하게 확인하십시오 –

+0

[Backbone.js 실제로 속성을 설정하지 않음 가져 오기] 가능한 복제본 (https://stackoverflow.com/questions/9584870/backbone-js-fetch-not-actually-setting-attributes) –

+0

@TJ 죄송합니다. 내 잘못이야. listCollection 팩토리 선언 내에서 parse 메서드로 toSSON을 호출했습니다. 하지만 data.toJSON()을 호출하면 toJSON이 함수가 아니라는 오류가 발생합니다. 출력은 이미 JSON이기 때문에 상상할 수 있습니다. –

답변

0
나는 listaCollectionfactory 선언 내에서 구문 분석 방법에

음을 toJSON를 호출했다

, parse 메소드의 반환 값을 설정 컬렉션 데이터입니다. 따라서 toJSONparse 안에 호출하면 데이터가 아직 설정되지 않았으므로 빈 배열이 반환됩니다.