2012-06-27 17 views
14

Wie kann ich HTML-Entities in Feldern ausgeben, die an eine Variable im viewModel gebunden sind? Ich möchte eine HTML-Entität wie ← (←) in einem Feld anzeigen, das an eine span in dem HTML gebunden wird. Leider ist der HTML-Code ausgeblendet, so dass der Browser & larr anzeigt; anstelle des Symbols.HTML-Entities mit Knockout

Fiddle mit einem Beispiel: http://jsfiddle.net/nwinkler/KES2j/

JavaScript:

var data = { value : '←'}; 

var viewModel = { 
    field: ko.mapping.fromJS(data) 
}; 

ko.applyBindings(viewModel); 

HTML:

<p>HTML: &larr;</p> 
<p>Knockout: <span data-bind='text: field.value'></span></p> 

Antwort

23

können Sie die html wie diese für etwas Bindung verwenden. Es würde wie folgt aussehen:

<p>Knockout: <span data-bind='html: field.value'></span></p> 

Probe: http://jsfiddle.net/rniemeyer/KES2j/1/

+0

Es ist wichtig zu erkennen, dass, wenn Sie von Text wechseln: zu html: Sie möglicherweise ein Sicherheitsproblem erstellen. Sie sollten sicherstellen, dass der Wert von field.value nicht von Benutzern Ihrer Anwendung manipuliert werden kann. Andernfalls können Sie sich für einen CSRF-Angriff öffnen. –

+0

Wie kann ich HTML mit den Optionen verbindlich binden? – adriaanp