Ich versuche, das Todo-Beispiel aus den Spine.js-Dokumenten zu implementieren, das hier gegeben wird: Ссылка
Ich möchte nur Lenker anstelle von jQuery.tmpl verwenden. Ich benutze den Lenker 1.0.rc.1
Wenn ich jedoch versuche anzurufen:
%Vor% Lenker wirft eine Ausnahme bei this.template(this.item)
:
Im Lenker-Lexer kommt this._input
als undefiniert zurück.
Meine Vorlage ist wie folgt:
%Vor%Daten:
%Vor%Irgendwelche Ideen?
Das Problem scheint zu sein:
history-template
, aber Sie versuchen, sie als $("#my-template)
auszuwählen. {"data":"hello","id":"c-0"}
(ein Objekt) geschrieben werden, ohne die eckigen Klammern (die es zu einem Array machen). Ich kann Ihren Code ausführen, sobald ich diese beiden Korrekturen vorgenommen habe. Siehe hier für eine funktionierende Demo.
%Vor%(Siehe auch hier für eine Bestätigung, dass die #if-Logik korrekt funktioniert.)
Bearbeiten
Um die Daten in der Array-Form - { data: "hello", id: "c-0" }
- zu verwenden, müssen Sie, um es in einer Lenker-Vorlage zu verwenden, diese in ein Objekt einfügen:
Auf diese Weise können Sie das Iterationsformular "Lenker" {{#each items}}
:
Sie geben die Daten falsch ein.
Laut der offiziellen Lenker-Dokumentation werden die Daten als Lenker an Lenker weitergegeben. Zum Beispiel:
%Vor%Mit einer Vorlage von:
%Vor%wird als
gerendert %Vor%Tags und Links javascript handlebars.js spine.js