Knockout.js 如何使用knockout-foreach方法动态设置表单元格?

Knockout.js 如何使用knockout-foreach方法动态设置表单元格?,knockout.js,Knockout.js,我有一个viewModel和一个ko.array,如下所示 users: ko.observableArray([{ name: 'Name1', email: 'Email1' }, { name: 'Name2', email: 'Email2' }, { name: 'Name3', email: 'Email3' }, { name: 'Name4', email: 'Email4' },

我有一个viewModel和一个ko.array,如下所示

 users: ko.observableArray([{
     name: 'Name1',
     email: 'Email1'

 },
 {
     name: 'Name2',
     email: 'Email2'
 },
 {
      name: 'Name3',
     email: 'Email3'
 },
 {
     name: 'Name4',
     email: 'Email4'
 },
 {
     name: 'Name5',
     email: 'Email5'
 },
 {
     name: 'Name6',
     email: 'Email6'
 }
])
})

我想使用ko.observearray“users”中的knockout绑定动态创建一个表。 表结构如下所示

 users: ko.observableArray([{
     name: 'Name1',
     email: 'Email1'

 },
 {
     name: 'Name2',
     email: 'Email2'
 },
 {
      name: 'Name3',
     email: 'Email3'
 },
 {
     name: 'Name4',
     email: 'Email4'
 },
 {
     name: 'Name5',
     email: 'Email5'
 },
 {
     name: 'Name6',
     email: 'Email6'
 }
])

请参见下面的示例


希望会有帮助。

您可以通过创建这样的
ko.computed
来实现

viewModel.rows = ko.computed(function () {
    var rows = [],
        currentRow,
        colLength = 3;
    for (var i = 0, j = this.users().length; i < j; i++) {
        if (i % colLength === 0) {
            if (currentRow) {
                rows.push(currentRow);
            }
            currentRow = [];
        }
        currentRow.push(this.users()[i]);
    }
    if (currentRow) {
        rows.push(currentRow);
    }
    return rows;
}, viewModel);
viewModel.rows=ko.computed(函数(){
变量行=[],
当前行,
收集长度=3;
for(var i=0,j=this.users().length;i
小提琴:


其他信息:

到目前为止,您为此做了哪些工作?你能解释一下这与
mvvm
c#
有什么特别的关系吗?