knockout.js嵌套的foreach相互引用
knockout.js nested foreach referencing each other
我正在尝试填充表中的行和单元格,如下所示:
<tbody data-bind="foreach: {data: rows, as: 'row'}">
<tr data-bind="foreach: {data: row, as: 'cell'}">
<td data-bind="text: cell"></td>
</tr>
</tbody>
将此作为我的行var:
self.rows = ko.observableArray([
[
['Test', '10', '100', '98', '10', '15']
],
[
['Test2', '10', '100', '98', '10', '20']
]
]);
这将填充正确数量的行,但只有第一个TD填充了数组的全部内容。
结果在:
<tbody data-bind="foreach: {data: rows, as: 'row'}">
<tr data-bind="foreach: {data: row, as: 'cell'}">
<td data-bind="text: cell">Test,10,100,98,10,15</td>
</tr>
<tr data-bind="foreach: {data: row, as: 'cell'}">
<td data-bind="text: cell">Test2,10,100,98,10,20</td>
</tr>
</tbody>
我做错了什么?
您有三个级别的数组,并且只迭代两个级别。如果您将rows
数据更改为仅嵌套两个级别,则它应该按预期工作:
self.rows = ko.observableArray([
[
'Test', '10', '100', '98', '10', '15'
],
[
'Test2', '10', '100', '98', '10', '20'
]
]);
JSFiddle:http://jsfiddle.net/Zj2qN/
您有一个三级数组。你确定你需要这个吗?
如果是这样的话,你需要再嵌套一个前臂绑定。
我不这么认为,我认为你希望你的阵列看起来是这样的:
self.rows = ko.observableArray([[1,2,3],[4,5,6]]);
相关文章:
- 引用对象中的通用值
- 如何在JavaScript中将字符串转换为函数引用
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 在动态创建的元素上获取对特定选择器的引用
- Foreach无法在Typescript中工作
- IIFE中的函数引用不可用
- 如何通过引用var Using DataTables来进行分页或排序
- 如何在创建键时引用来自同一对象的键
- $rootScope未使用forEach进行更新
- 如何制作简单的php'在Javascript中的foreach等价物
- Datatables:通过DOM数据源中的名称引用列
- 在node.js中使用forEach引用JSON对象
- 在foreach循环中引用全局jquery函数变量
- Knockoutjs在与绑定的内部使用foreach传递值时抛出引用错误
- 删除映射和foreach数据绑定表上的按钮,缺少对视图模型的引用
- 如何从数组引用TypeScript类中的此父方法's ForEach循环
- 如何在CodeIgniter中删除双foreach中的双URL引用
- knockout.js嵌套的foreach相互引用
- 在forEach的另一个回调中引用同一对象
- thisArg of array.forEach没有按预期进行引用