Как предотвратить автоматический анализ URL-тега и вместо этого отобразить его как полный тег? - PullRequest
0 голосов
/ 11 марта 2011

Кто-нибудь знает, анализирует ли KnockoutJS < и > в своих наблюдаемых? Я возвращаю строку, такую ​​как ...

<a href="#">google.com</a>

... но он отображается как ...

&lt;a href="www.google.com" target="_blank" style="color: #0065CB"&gt;www.google.com&lt;/a&gt;

... и поэтому URL не отображается должным образом. Вот шаблон, тег с проблемой: ${ text }:

<script type="text/html" id="chatRoom">
<div id="chatContainer" class="chatContainer">
    <div class="chatFrom">
        oaSES Sales
        <i id="chatClose" class="chatSprite chatClose" data-bind='click: function() { server.removeChat(this) }'></i>
    </div>
    <div class="chatMessages">
        <ul id="chatHolder">
        {{each messages()}}
            <li><div class="chatFromText">From: ${ from }</div>
            <div class="chatTime">${ time }</div><div class="chatMsg">${ text }</div></li>
        {{/each}}
        </ul>
    </div>
    <div class="chatControls">
    <form data-bind="submit: function() { send($('#'+channel).val()); $('#'+channel).focus(); }">
        <input type="text" id="${ channel }" name="message" class="chatText" style="color: #999;" value="Message Here" data-bind='click: function() {
            $("#"+channel).val("").css("color", "#000");
        }'  />
        <i class="chatSprite chatSend" data-bind="click: function() { $('.chatSend').parent().submit() }"></i>
    </form>
    </div>
</div>
</script>

1 Ответ

1 голос
/ 11 марта 2011

Вы захотите использовать {{html text}} вместо ${ text }, чтобы убедиться, что ваше значение не экранировано.Если вы используете атрибуты привязки данных в KO, то существует привязка «html», которую можно использовать в качестве альтернативы привязке «text».

...