Обработка нокаутированного текста, который содержит строку и HTML

0

У меня есть рабочее приложение, и теперь я переношу его на мобильную версию. Я использую все службы, уже созданные для Интернета. Поэтому, используя эти службы, я иногда получаю текст примерно так.

var serverString = 'like this image <img src="abc.png">'

Когда я назначаю его для нокаута

self.PropertyName(serverString)

И свяжите его, он создает эту строку.

like this image <img src="abc.png">

Я хочу, чтобы текст читался мобильным сервером или веб-сервером, поэтому текст остается таким же, но тег конвертируется в тег вместо того, чтобы показывать тег как тег, который должен показывать тег как изображение.
Как я могу это сделать?

Вот моя привязка

<p data-bind="text:PropertyName"></p>
  • 0
    Покажите также вашу привязку.
Теги:
knockout.js

1 ответ

3
Лучший ответ

http://knockoutjs.com/documentation/html-binding.html

Цель

Связывание html заставляет связанный элемент DOM отображать HTML, указанный вашим параметром.

Обычно это полезно, когда значения в вашей модели представления представляют собой строки разметки HTML, которые вы хотите отобразить.

<div data-bind="html: details"></div>

<script type="text/javascript">
    var viewModel = {
        details: ko.observable() // Initially blank
    };
    viewModel.details("<em>For further details, view the report <a href='report.html'>here</a>.</em>"); // HTML content appears
</script>
  • 0
    Хорошо, спасибо, я проверил, и это хорошо работает. Я нашел все, что мне нужно использовать, это HTML вместо текста. Я предполагал, что придется заняться чем-то другим. никогда не думал, что это работает так. Еще раз спасибо.
  • 0
    Обратите внимание на предупреждение в конце страницы документации; по крайней мере, вам нужно убедиться, что данные, которые вы получаете, не имеют тегов script , так как это сделает вас уязвимыми для атак с использованием межсайтовых сценариев.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню