我需要比较ForEach循环中从db返回的值。我不确定如何提取这个值(即将其存储在变量中)并将其用于比较。
<tbody data-bind="foreach: ContractorList">
<tr>
<td>
<a href="#" data-bind="text: Contractor_Name, click: $root.listContractorDetails"></a>
<span data-bind="text:Contractor_Status"></span>
<span data-bind="if: some-syntax?? ">1</span>
<span data-bind="if: same-syntaxt??">2</span>
</td>
</tr>
</tbody>
</table>
data-bind =&#34; text:Contractor_Status&#34;返回&#34;注册&#34;或者&#34;被拒绝&#34;,如果已注册我想显示span 1 else span 2.请帮我解释一下语法。
答案 0 :(得分:0)
ContractorList
中的每个承包商都应该在if
绑定中拥有您想要的所有属性。
// where 'x' is a property of each contractor:
<span data-bind="if: x == 1">1</span>
<span data-bind="if: x == 2">2</span>
可以使用视图模型源代码中的Array.prototype.forEach
添加这些属性,如下所示:
var myViewModel = function() {
// I'm sure you're populating this from a JSON source or who knows...
this.ContractorList = ko.observableArray(); // or ko.observableArray([{}, {}, {}})...
this.ContractorList.forEach(function(contractor) {
// It's just a sample, you should set whatever you want in a property that you want
// to use in an 'if' binding
contractor.x = 1;
});
};
答案 1 :(得分:0)
我在HTML文件中使用IF条件而不是解决问题的.js文件。 请不要以下(为了避免我犯的错误) 关闭tages 双等于(与===相比) get参数()
<tbody data-bind="foreach: ContractorList">
<tr>
<td>
<!-- ko if: (ContractorStatusList() == 'Enrolled')-->
<span>1</span>
<!--/ko -->
<!-- ko if: (ContractorStatusList() == 'Rejected')-->
<span>2</span>
<!--/ko -->