我想把内部文本和另一个元素合二为一。 目前我在做:
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编码不是safe?
我可以使用敲除文本绑定或其他任何东西构建文本吗?
答案 0 :(得分:0)
正如评论中提到的,如果没有html绑定,你就无法做到这一点,你真的不应该这样做,因为它不安全。在菜单项模板中添加一些额外标记有什么问题
<div>
<span>
<font class="small" data-bind="text: number"></font>
<span data-bind="text: text"></span>
</span>
</div>
这是安全的,它可以很容易看起来相同,如果数字是可观察的并且更改它将不会重新渲染整个项目。
希望这有帮助。