在 Foreach 循环中使用 IF 条件来比较数据绑定值

Use IF condition in Foreach loop for comparision of data-bind values

本文关键字:条件 比较 数据绑定 IF Foreach 循环      更新时间:2023-09-26

>我需要在 ForEach 循环中比较从数据库返回的值。我不确定如何将此值 pik 起来(即将其存储在变量中)并将其用于比较。

<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="text:Contractor_Status" 返回"已注册"或"已拒绝",如果已注册,我想显示跨度 1 或跨度 2。请你能帮我语法吗?

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;
   });
};

我在HTML文件中使用了IF条件,而不是解决了问题的.js文件。请不要以下(以避免我犯的错误)关闭 tage双等于(与 === 相比)get 参数 ()

<tbody data-bind="foreach: ContractorList">
                            <tr>
                                <td>
                                    <!-- ko if: (ContractorStatusList() == 'Enrolled')-->
                                    <span>1</span>
                                    <!--/ko -->
                                    <!-- ko if: (ContractorStatusList() == 'Rejected')-->
                                    <span>2</span>
                                    <!--/ko -->