0

我想将内部文本和另一个元素放入一个 . 目前我正在做:

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 回答