0

内部テキストと別の要素を1つにまとめたい。現在私がしていること:

function menuItem(number, text) {
        this.text = text;
        this.html = '<span><font class="small">' + number + '.</font>' + text + '</span>';
    }

    function viewModelMenu() {
        // Data
        var self = this;
        self.menuItems = [new menuItem('1', 'First'),
            new menuItem('2', 'Second')];
}

と表示:

<div data-bind="html:$data.html"></div>

しかし、HTMLエンコードは安全ではありませんか?

ノックアウトテキストバインディングなどを使用してテキストを作成できますか?

4

1 に答える 1

0

コメントが述べているように、htmlバインディングなしではこれを行うことはできず、安全ではないため、実際に行うべきではありません。メニュー項目テンプレートに少し余分なマークアップを追加することの何が問題になっていますか

<div>
    <span>
        <font class="small" data-bind="text: number"></font>
        <span data-bind="text: text"></span>
    </span>
</div>

安全で、同じように簡単に見せることができ、数が観察可能で変化しても、アイテム全体が再レンダリングされることはありません。

お役に立てれば。

于 2012-05-21T16:35:21.760 に答える