Knockout.js 如何使用knockout-foreach方法动态设置表单元格?
我有一个viewModel和一个ko.array,如下所示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' },
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#
有什么特别的关系吗?