Fragen zu Backbone.js mit Handlebars.js

7

Meine backbone.js-App mit Handelsbars macht folgendes:

  1. Richten Sie ein Modell, seine Sammlung, Ansicht und Router ein.
  2. am Anfang, erhalten Sie eine Liste von Artikeln vom Server und rendern Sie mit der Ansicht über Handlebars.js Vorlage.

Der Code ist unten.

%Vor%

Handlebars.js Vorlage ist

%Vor%

Der obige Code funktioniert einwandfrei und druckt Artikeltitel. Meine Frage ist jedoch

  1. Wenn ich einen Kontext an die Handlebars.js-Vorlage übergebe, mache ich gerade $(this.el).html(template(js[0])) . Ist das der richtige Weg? Wenn ich nur "js" anstelle von js [0] verwende, hat das JSON-Objekt führende und endende eckige Klammern. Daher erkennt es als ein Array-Objekt des JSON-Objekts. Also musste ich js [0]. Aber ich denke, es ist keine richtige Lösung.

  2. Wenn ich die "Ansicht" zum ersten Mal erstelle, erstelle ich sie wie folgt:

    ws._index = new ArticleListView ({model: ws._articles});

Aber in meinem Fall sollte ich

machen %Vor%

Sollte ich nicht? (Ich folgte einem Tutorial BTW). Oder ist das wichtig? Ich habe beides versucht und es schien keinen großen Unterschied zu machen.

Vielen Dank im Voraus.

    
ericbae 08.09.2011, 08:08
quelle

2 Antworten

24

Es scheint so, als ob Sie eine Ansicht für eine Sammlung erstellen, sodass Sie Ihre Ansicht mithilfe von collection anstelle von model initialisieren sollten.

Was den Lenker betrifft, habe ich ihn nicht oft benutzt, aber ich denke, Sie wollen so etwas machen:

%Vor%

und dann verwenden Sie so etwas für die Vorlage

%Vor%

ps. die Linie JSON.parse(JSON.stringify(this.model.toJSON())) entspricht this.model.toJSON()

Hoffe, das hilft

    
timDunham 09.09.2011, 02:37
quelle
2
%Vor%

////////////////////////////////////////

%Vor%     
Kristofer Joseph 21.09.2011 03:31
quelle