2012-05-21 45 views
0

我想将内部文本和其他元素合并为一个。 目前我正在做:Knockoutjs将文本与其他元素结合起来

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

恩,事实并非如此。什么是你的问题? – freakish

+0

我想知道如何获得相同的标记没有HTML绑定? – user1407492

+0

你不能。这并不安全,但这并不意味着你不应该使用它。 :)你只需要小心,例如HTML不应该依赖于用户。 – freakish

回答

0

正如评论提到你不能没有HTML绑定这样做,你真的不应该,因为它是不安全的。这有什么错加一点额外的标记到你的菜单项模板

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

它的安全,它可以很容易做出看起来是一样的,如果数量是可观的,并且改变它不会重新渲染整个项目。

希望这会有所帮助。

相关问题