Sie könnten ein benutzerdefiniertes Element erstellen.
Hier ist ein Beispiel: Ссылка
app.html
%Vor%app.js
%Vor%debug.html
%Vor%debug.js
%Vor%Ergebnis
Am ehesten habe ich einen Wertkonverter definiert. Also in json.js
habe ich
dann in meiner Sicht-Modell index.js
Ich habe meine Daten:
und schließlich die Ansicht index.hml
bindet und verwendet den Konverter:
Ich bin jedoch im Moment über den Mangel an Live-Binding zwischen dem Modell und dem HTML ratlos, so dass dies Ihre Frage möglicherweise nicht vollständig beantwortet?
Als Ergänzung zur Antwort von Jeremy Danyow können Sie auch ein benutzerdefiniertes Bindungsverhalten für ein bestimmtes Attribut des Ansichtsmodells anstelle des ganzen Ansichtsmodells. Dies hat den Vorteil, dass Sie die Kontrolle über die Elemente haben, die Sie sehen möchten. Daher können Sie das Problem mit zirkulären Abhängigkeiten vermeiden (wenn Sie nur die Elemente sehen, die kennen sind nicht kreisförmig ...)
Definieren Sie zuerst einen JsonValueConverter (der gleiche wie der in Phils Antwort):
%Vor%Dann das Bindungsverhalten. Beachten Sie, dass sich die Bindung über ein benutzerdefiniertes Signal benachrichtigt, um mit umfangreichen Modellupdates fertig zu werden.
%Vor%Sie können beide Klassen in derselben Datei speichern, z. %Code%. Dann fordern Sie es in Ihrer Vorlage:
%Vor%... oder als globale Ressource verfügbar machen.
Hier ist ein Beispiel: Ссылка
Sie könnten die Signalisierung auch zu einem zweiten benutzerdefinierten Verhalten extrahieren, so wie es Jeremy Danyow in dieser SO-Antwort getan hat. Mit dieser Stelle würden Sie einfach tun:
%Vor%Tags und Links javascript aurelia aurelia-binding