由于以下错误消息,我无法将切片或子网格应用于GId
:
Uncaught TypeError: Unable to process binding "foreach: function (){return waititem }"
Message: Unable to process binding "style: function (){return { color:GId.slice(0,1) =='TR'?'black':'red'} }"
Message: undefined is not a function
HTML
<table>
<thead>
<tr>
<th>Id</th>
<th>Name</th>
</tr>
</thead>
<tbody data-bind="foreach: waititem">
<tr data-bind="style: { color: GId.slice(0,1) == 'TR'? 'black' : 'red' }">
<td data-bind="text: PId"></td>
<td data-bind="text: PName"></td>
</tr>
</tbody>
</table>
如何应用切片来检查是否存在特定子字符串并分别设置样式?
答案 0 :(得分:0)
您错误地使用了style
绑定中的切片方法。您需要使用slice的语法
slice(start, end)
其中start的默认值为0表示初始位置,end表示结束字符。在您的方案中,切片将返回一个长度为1 的字符串,因为您使用的是slice(0,1)
,但您正在与{em>长度为2 的'TR'
进行比较。而不是你需要使用slice(0, 2) === 'TR'
。
<tr data-bind="style: { color: GId.slice(0,2) == 'TR'? 'black' : 'red' }">
<td data-bind="text: PId"></td>
<td data-bind="text: PName"></td>
</tr>
<强> DEMO 强>