Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 删除每个不匹配的长度_Javascript_Data Binding_Knockout.js_Foreach - Fatal编程技术网

Javascript 删除每个不匹配的长度

Javascript 删除每个不匹配的长度,javascript,data-binding,knockout.js,foreach,Javascript,Data Binding,Knockout.js,Foreach,我无法显示淘汰可观察数组中的项目 下面的代码显示长度为3(因此我知道有元素),但foreach不显示任何行 <label data-bind="text: Data().length"></label> <table> <tbody data-bind="foreach: Data"> <tr> <td >woot</td> </tr>

我无法显示淘汰可观察数组中的项目

下面的代码显示长度为3(因此我知道有元素),但foreach不显示任何行

<label data-bind="text: Data().length"></label>
<table>
    <tbody data-bind="foreach: Data">
        <tr>
            <td >woot</td>
        </tr>
    </tbody>
</table>
非常感谢您的任何建议

您是否在问题中显示了所有javascript代码?
无论如何,这里有一个简单的工作示例,其中包括一个用于显示DeviceId的表格单元格
希望能有帮助

HTML

<label data-bind="text: Data().length"></label>
<table>
    <tbody data-bind="foreach: Data">
        <tr>
          <td data-bind="text: DeviceId"></td>
          <td>woot</td>
        </tr>
    </tbody>
</table>

<label data-bind="text:  ko.toJSON(Data)"></label> 
您是否在问题中显示了所有javascript代码?
无论如何,这里有一个简单的工作示例,其中包括一个用于显示DeviceId的表格单元格
希望能有帮助

HTML

<label data-bind="text: Data().length"></label>
<table>
    <tbody data-bind="foreach: Data">
        <tr>
          <td data-bind="text: DeviceId"></td>
          <td>woot</td>
        </tr>
    </tbody>
</table>

<label data-bind="text:  ko.toJSON(Data)"></label> 

胡特
var JSONdata=[{“Description”:null,
“DeviceId”:“fake1”,
“DeviceType”:空,
“策略”:空
},
{“Description”:空,
“设备ID”:“伪造2”,
“DeviceType”:空,
“策略”:空
},
{“Description”:空,
“DeviceId”:“fake3”,
“DeviceType”:空,
“策略”:空
}
];
函数ViewModel(){
var self=这个;
self.Data=ko.observatarray(JSONdata);
}
应用绑定(新的ViewModel());

胡特
var JSONdata=[{“Description”:null,
“DeviceId”:“fake1”,
“DeviceType”:空,
“策略”:空
},
{“Description”:空,
“设备ID”:“伪造2”,
“DeviceType”:空,
“策略”:空
},
{“Description”:空,
“DeviceId”:“fake3”,
“DeviceType”:空,
“策略”:空
}
];
函数ViewModel(){
var self=这个;
self.Data=ko.observatarray(JSONdata);
}
应用绑定(新的ViewModel());

我们可以查看您的阵列或数据集吗?或者您是如何将其连接到js端的?:)我不是击倒职业选手,但我有一个想法。在这一行中:
看起来您只能通过首先作为函数调用
Data()
来访问数组项。然后,该数组似乎就是该调用的结果。但是在这一行:
您没有调用数据函数。这让我相信这可能会起作用:
是这样吗,还是我只是在展示我的击倒业余状态?@ShalomAptekar在帖子中添加了数组内容:)谢谢:)我本来想尝试一下,但mg1075的答案看起来很有希望!你能展示你的视图模型吗。。您是否将数据声明为
data=ko.observableArray()
我们可以查看您的数组或数据集吗?或者您是如何将其连接到js端的?:)我不是击倒职业选手,但我有一个想法。在这一行中:
看起来您只能通过首先作为函数调用
Data()
来访问数组项。然后,该数组似乎就是该调用的结果。但是在这一行:
您没有调用数据函数。这让我相信这可能会起作用:
是这样吗,还是我只是在展示我的击倒业余状态?@ShalomAptekar在帖子中添加了数组内容:)谢谢:)我本来想尝试一下,但mg1075的答案看起来很有希望!你能展示你的视图模型吗。。您是否将数据声明为
data=ko.observableArray()
您是正确的,javascript代码多得多,您的示例运行得很好,问题是当我将其作为一个整体插入解决方案时,它会崩溃。标记为答案,因为它引导我找到了另一个解决方案你是对的,有很多很多javascript代码,你的示例运行得很好,问题是当我将此作为一个整体插入解决方案时,它会崩溃。标记为答案,因为它引导我走向另一个解决方案
<label data-bind="text: Data().length"></label>
<table>
    <tbody data-bind="foreach: Data">
        <tr>
          <td data-bind="text: DeviceId"></td>
          <td>woot</td>
        </tr>
    </tbody>
</table>

<label data-bind="text:  ko.toJSON(Data)"></label> 
var myJSON = [ { "Description" : null,
    "DeviceId" : "fake1",
    "DeviceType" : null,
    "Policy" : null
  },
  { "Description" : null,
    "DeviceId" : "fake2",
    "DeviceType" : null,
    "Policy" : null
  },
  { "Description" : null,
    "DeviceId" : "fake3",
    "DeviceType" : null,
    "Policy" : null
  }
];

function ViewModel() {
    var self = this;
    self.Data = ko.observableArray(myJSON);  
}

// Activates knockout.js
ko.applyBindings(new ViewModel());
<label data-bind="text: Data().length"></label>
<table>
    <tbody data-bind="foreach: Data">
        <tr>
          <td data-bind="text: DeviceId"></td>
          <td>woot</td>
        </tr>
    </tbody>
</table>

<label data-bind="text:  ko.toJSON(Data)"></label>  

<script type="text/javascript"> 
    var JSONdata = [ { "Description" : null,
        "DeviceId" : "fake1",
        "DeviceType" : null,
        "Policy" : null
      },
      { "Description" : null,
        "DeviceId" : "fake2",
        "DeviceType" : null,
        "Policy" : null
      },
      { "Description" : null,
        "DeviceId" : "fake3",
        "DeviceType" : null,
        "Policy" : null
      }
    ];

    function ViewModel() {
        var self = this;
        self.Data = ko.observableArray(JSONdata);  
    }

    ko.applyBindings(new ViewModel());

</script>