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>
<% }) %>
'.toJSON()'을 어디에/어떻게 호출했는지는 표시되지 않았습니다. 가져 오기가 완료 될 때까지 기다려야합니다. 이것이 복제본인지 확실하게 확인하십시오 –
[Backbone.js 실제로 속성을 설정하지 않음 가져 오기] 가능한 복제본 (https://stackoverflow.com/questions/9584870/backbone-js-fetch-not-actually-setting-attributes) –
@TJ 죄송합니다. 내 잘못이야. listCollection 팩토리 선언 내에서 parse 메서드로 toSSON을 호출했습니다. 하지만 data.toJSON()을 호출하면 toJSON이 함수가 아니라는 오류가 발생합니다. 출력은 이미 JSON이기 때문에 상상할 수 있습니다. –