Вопрос по javascript, html, knockout.js – HTML-сущности с Knockout

14

Как вывести сущности HTML в поля, которые связаны с переменной в viewModel? Я хотел бы отобразить HTML-сущность, подобную & # x2190; (←) в поле, связанном сspan в HTML. К сожалению, HTML не используется, поэтому в браузере отображается & amp; larr; вместо символа.

Скрипка с примером: 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>

Ваш Ответ

1   ответ
23

html обязательный для чего-то вроде этого. Это будет выглядеть так:

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

Образец:http://jsfiddle.net/rniemeyer/KES2j/1/

Важно понимать, что если вы переключитесь с text: на html: вы потенциально создадите проблему безопасности. Вы должны убедиться, что значение field.value не может быть изменено пользователями вашего приложения. В противном случае вы можете открыть себя для атаки CSRF.
Как я могу связать HTML с привязкой параметров?

Похожие вопросы