首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >knockout.js嵌套相互引用

knockout.js嵌套相互引用
EN

Stack Overflow用户
提问于 2014-04-22 18:39:09
回答 2查看 66关注 0票数 1

我试图像下面这样填充表中的行和单元格:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
self.rows = ko.observableArray([
            [
                ['Test', '10', '100', '98', '10', '15']
            ],
            [
                ['Test2', '10', '100', '98', '10', '20']
            ]
]);

这将填充正确的行数,但只有第一个TD填充了数组的整个内容。

在以下方面的成果:

代码语言:javascript
复制
<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>

我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-22 18:52:47

您有三个级别的数组,并且只迭代了两个层次的深度。如果您将rows数据更改为只嵌套两个层次的深度,它应该会像预期的那样工作:

代码语言:javascript
复制
self.rows = ko.observableArray([
    [
        'Test', '10', '100', '98', '10', '15'
    ],
    [
        'Test2', '10', '100', '98', '10', '20'
    ]
]);

JSFiddle:http://jsfiddle.net/Zj2qN/

票数 3
EN

Stack Overflow用户

发布于 2014-04-22 18:51:58

你有一个三级数组。你确定你需要那个吗?

如果是这样的话,你需要多做一个嵌套绑定。

我不这么认为,我想你想让你的数组看起来这样:

代码语言:javascript
复制
self.rows = ko.observableArray([[1,2,3],[4,5,6]]);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23227627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档