Javascript 删除每个不匹配的长度
我无法显示淘汰可观察数组中的项目 下面的代码显示长度为3(因此我知道有元素),但foreach不显示任何行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>
<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>