Knockout:文本绑定中的HTML绑定

时间:2014-08-14 11:18:54

标签: html knockout.js

取决于我text data-binding中表达式的结果, 我想显示一个属性或一些HTML代码。

这是表达式:

resultsCount().length > 0 ? resultsCount().length : {html: loadingIcon}

它在以下背景中使用:

<span data-bind="text: resultsCount().length > 0 ? resultsCount().length : {html: loadingIcon}"></span></strong></p>

这显然不起作用(因为{html: loadingIcon}),但我想知道如何使这项工作。 loadingIcon HTML是一个简单的HTML结构,如下所示:

self.loadingIcon = "<div class='loadingIconWrapper'><i class='glyphicon glyphicon-refresh'></i></div>";

我怎样才能做到这一点?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您只需使用html绑定即可获得结果。

<span data-bind="html: resultsCount().length > 0 ? resultsCount().length :loadingIcon"></span>

Fiddle demo

或者,如果您不想使用html绑定来显示数字,请使用if binding。

<!-- ko if: resultsCount().length> 0 --> 
   <span data-bind="text:resultsCount().length"></span>
<!-- /ko -->
<!-- ko ifnot: resultsCount().length> 0 --> 
   <span data-bind="html:loadingIcon"></span>
<!-- /ko -->

Fiddle demo