js foreach在未显示的项目列表上
Knockout.js foreach on list of items not displaying
这行不通
<div data-bind="foreach:nonAdminIB">
<div><span data-bind="text: explanation"></span> </div>
</div>
这确实显示了数据,但我已经硬编码了索引号,我真的不知道会有多少项。
<div><span data-bind="text: nonAdminIB[0].explanation"></span> </div>
<div><span data-bind="text: nonAdminIB[1].explanation"></span> </div>
这是发送给浏览器的数据
"nonAdminIB": {
"0": {
"nonAdminIrregularBehaviorId": 383,
"irregularBehaviorId": 5,
"irregularBehaviorDescription": "Falsified Information",
"explanation": "Falsification of information on applications/scheduling permits."
},
"1": {
"nonAdminIrregularBehaviorId": 384,
"irregularBehaviorId": 6,
"irregularBehaviorDescription": "Falsified Score",
"explanation": "Falsification of score information. "
}
我如何让每一个工作?
nonAdminIB
目前是一个对象,foreach
只能在数组上工作。
你必须把它转换成数组:
var nonAdminIBArray = [];
for(var prop in nonAdminIB) {
if(nonAdminIB.hasOwnProperty(prop)) {
nonAdminIBArray.push(nonAdminIB[prop]);
}
}
然后用nonAdminIBArray
敲除。
foreach绑定希望绑定到的对象是一个数组(可观察对象或其他),而不是JSON对象。如此:
var vm = {
nonAdminIB: [{
"nonAdminIrregularBehaviorId": 383,
"irregularBehaviorId": 5,
"irregularBehaviorDescription": "Falsified Information",
"explanation": "Falsification of information on applications/scheduling permits."
}, {
"nonAdminIrregularBehaviorId": 384,
"irregularBehaviorId": 6,
"irregularBehaviorDescription": "Falsified Score",
"explanation": "Falsification of score information. "
}]
};
ko.applyBindings(vm);
所以如果你可以遍历JSON对象并将其转换为数组,这将为你工作。我想说的是,如果你要迭代它它可能值得你把这个数组,然后加载到一个可观察数组,当你在它允许你改变它的客户端,享受knockout绑定的好处。
至于为什么显式调用nonadminab [x]是工作的,这将是因为您的JSON对象的命名。引号中的数字使您可以访问对象,就像它是一个带有方括号符号的数组一样,尽管实际上该对象根本不是数组。
相关文章:
- 角度的项目列表 ng 重复,ng 单击显示全宽描述
- 当在Ember中点击一个项目时,我如何将一个活动类添加到项目列表中
- 在javascript中搜索项目列表的性能
- 如何在角度js的自动完成下拉列表中对项目列表(按字母顺序)进行排序
- 从项目列表Jquery中仅选择(显示:块)元素
- 使用 JQuery 复选框筛选项目列表
- 如何在Javascript中设置随机生成的项目列表的样式
- 如何无限循环项目列表
- 将项目列表馈送到3列布局中
- Polymer 1.0:管理简单项目列表的最佳实践
- 从select创建项目列表/数组
- 渲染Backbone.js中项目列表中的项目
- 如何将特定项目信息链接到 emberjs 中项目列表中的模板
- 如何遍历项目列表并将其数据值推送到数组中
- NodeJS:如何使用异步.js来处理数据库中的项目列表
- 挖空 JS 构建项目列表
- 通过指定的文本检查项目列表 /w Jquery
- 如何制作一个项目列表,可以使用 Angular JS 单独切换
- 将单词“and”放在项目列表的文本中
- 优化显示简单项目列表的模型/视图