Die Kombination von text-und html-durch Ko

Dies ist, wie ich bauen will meine html -

<a href="#">John <i class="person"></i></a>

Und mit knockout.js dies ist, was ich getan habe.

<a data-bind="text:name"><i class="person"></i></a>

Als Sie sich vorstellen können ganze Elemente(nicht nur text) der Anker wird entfernt, weil der text verbindlich in diesem Fall ganz-tags innerhalb der Anker wird entfernt. Meine Lösung ist unter.

<a data-bind="html: name() + '<i class="person"></i>'"></a>

string concat mit html in data-bind ist eine Lösung, aber es hat 2 große Nachteil. 'name' Anwesen ist nicht sicher, so dass wir bekommen, html-injection. Sedondly schreiben von html innerhalb des data-bind-Attribute saugt.

Andere Lösung ist.

<a href="#"><span data-bind="text:name"></span><i class="person"></i></a>

Weiß ich, dass wir die Einführung neuer html-markup für eine gerechte Lösung. Es ist das, was ich gefunden habe, am besten.

Was ist der bekannte Lösung für dieses problem knockout.js ?

Können wir geben Sie nur text aktualisieren, nicht die ganze-Elemente in text verbindlich über Parameter ?

Oder bessere Lösung ?

InformationsquelleAutor Freshblood | 2012-08-24
Schreibe einen Kommentar