如何将KnockoutJS与HTML标签结合使用 - 特别是BootStrap

时间:2012-05-03 12:34:14

标签: html5 knockout.js

我一直在使用Bootstrap并且喜欢它。给我一点时间。我刚开始使用KnockoutJS,因此我必须将两者结合在一个相当精细的层面上。我的Knockout对象正在填充结果表。当我只想要值(如Name)时,它的效果非常好。但是,我想在我的链接前面放一个图标(你的Bootstrap人的图标铅笔),以便它可以作为编辑的东西。我使用的是ASP.Net(不是MVC),但我怀疑这不是问题。

以下是一些有效的代码(但没有图标):

<asp:LinkButton ID="lbtEditGenerator" runat="server" data-bind="text: GeneratorName, click: function() { EditGeneratorClick(GeneratorID) }"></asp:LinkButton>

但是,我想在“GeneratorName”前添加以下代码,以获取铅笔图标。我需要它在text属性中,因此它是LinkBut​​ton的一部分:

<i class='icon-pencil'></i>

将它们组合在bind-data中(如下所示)会引发解析错误:

<asp:LinkButton ID="lbtEditGenerator" runat="server" data-bind="text: <i class='icon-pencil'></i> GeneratorName, click: function() { EditGeneratorClick(GeneratorID) }"></asp:LinkButton>

除了在我的对象上创建一个结合了这两个值的新属性之外,还有一种方法可以使用Knockout绑定吗?

1 个答案:

答案 0 :(得分:2)

你有没有试过这些方面:

<asp:LinkButton ID="lbtEditGenerator" runat="server" click: function() { EditGeneratorClick(GeneratorID) }">
    <i class='icon-pencil'></i>
    <span data-bind="text: GeneratorName"></span>
</asp:LinkButton>

或者,您可以将<i>元素放在<asp:LinkButton>之前。上面的解决方案允许您单击图标或文本以触发按钮。