PHP 백엔드, Backbone.js 및 Handlebars.js를 사용하고 있습니다. 내 자바 스크립트 데이터 요청 및 JSON 데이터가 성공적으로 반환됩니다 (json_encode).Handlebars.js는 앞쪽에 대괄호를 사용하지 않습니다.
이 JSON 데이터를 핸들 막대 템플릿에 제공하면 표시되지 않습니다. JSON 객체의 앞뒤에있는 대괄호가 Handlebars.js에 의해 싫어되어 표시되지 않는다는 것을 깨달았습니다. 아래 코드를 살펴보십시오.
var ArticleListView = Backbone.View.extend(
{
el: $('#main'),
render: function()
{
var template = Handlebars.compile($("#articles_hb").html());
$(this.el).html(template([{"articles":[{"title" : "1"}, {"title" : "2"}]}]));
return this;
}
});
이제 대괄호를 제거하면 올바르게 작동합니다. 무슨 일이야? 처음에 대괄호가있는 이유는 무엇입니까? 나는 어떻게 그들을 제거합니까?
답장을 보내 주셔서 감사합니다. 그것은 많은 도움이됩니다. 마지막 단락에서 "콜렉션에서 JSON()을 호출하면 배열이 반환됩니다.이 경우 해당 컬렉션을 핸들 막대 템플릿에 전달하려면 동일한 대괄호를 다시 사용합니까? – ericbae
@ebae : 배열 이름을'template ({stuff : stuffs.toJSON()})'로 지정해야합니다. –
cool. btw. 내가 제대로하고있는 건가요? 내 말은, 배열 이름을 모두 지정해야합니까? 시간이 다른 튜토리얼과 예제를 보지 못했습니다. 내가하는 일은 다르다. – ericbae