如何在Knockout javascript表中创建文本链接?

时间:2012-12-12 13:00:11

标签: javascript knockout.js

我有一些KnockoutJS代码正在运行 - 它会拉入一个列表并将其绑定到表格。

对于显示name的表格数据,我希望它是<a href=...>,但不知道如何。名称仍然显示,顺便说一句。但你可以点击它。

这是我目前的代码: -

<tbody data-bind="foreach: items">
    <tr>
        <td data-bind="text: name()"></td>
        <td data-bind="text: price()"></td>
        <td data-bind="text: endsOn()"></td>
    </tr>   
</tbody>
没什么太疯狂的。

我有另一个名为url的属性,其中包含指向用户的完整http://blah网址。此外,我想要打开一个新标签。

有什么建议吗?

1 个答案:

答案 0 :(得分:19)

您必须从td代码中删除数据绑定属性,并将atd内的attr绑定放在一起:

<tbody data-bind="foreach: items">
    <tr>
        <td><a data-bind="text: name, attr: {href: url}" target="_new"></a></td>
        <td data-bind="text: price"></td>
        <td data-bind="text: endsOn"></td>
    </tr>   
</tbody>

P.S。如果不构造表达式,则不必将()放在data-bind属性中的属性名之后。