私はPHPバックエンド、Backbone.js、Handlebars.jsを使用しています。データのjavascriptリクエストと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;
}
});
ここで角括弧を取り除くと、正常に動作します。どうしたの?最初に大括弧が入っているのはなぜですか?どうすればそれらを取り除くことができますか?
あなたの答えをありがとう。それは大いに役立ちます。あなたの最後の段落では、 "コレクションのtoSSON()を呼び出すと配列が返されます。この場合、そのコレクションをハンドルバーのテンプレートに渡したい場合は、同じ角括弧を再び使用しますか? – ericbae
@ebae :あなたは配列に 'template({stuff:stuffs.toJSON()})'という名前を付ける必要があります。 –
cool。btw。私はそれを正しくやっていますか?他のチュートリアルや例はこれをしていないので、私は何をしていますか? – ericbae