在knockout.js中创建observable的动态数组
Create dynamic array of observableArray in knockout.js
在我的视图模型中有以下函数来构建一个可观察数组的动态数组,按item命名。array_name字段。但是,我正在用Document对象填充数组。这样我就可以在每个数组的页面中多次重用相同的HTML接口。有人能给我指出错误的方向吗,或者他们有更好的方法吗?
self.getDocument = function(){
//Reset arrays
self.documents.removeAll();
//Dynamically build arrays
$.getJSON("/Documentation/Get-Section", function(allData) {
$.map(allData, function(item) {
var obj = {};
obj[item.array_name] = ko.observableArray([]);
self.documents(obj)
})
});
//Add document object to the arrays
$.getJSON("/Documentation/Get-Document", function(allData)
$.map(allData, function(item) {
var temp_array = 'self.documents.'+item.array_name
eval(temp_array+'(new Document(item))')
});
});
}
我会重新调整你的对象:
self.getDocument = function(){
//Reset arrays
self.documents.removeAll();
//Dynamically build arrays
$.getJSON("/Documentation/Get-Section", function(allData) {
$.map(allData, function(item) {
var section = { name: item.array_name, documents: ko.observableArray([])};
self.documents.push(section);
})
});
//Add document object to the arrays
$.getJSON("/Documentation/Get-Document", function(allData){
$.map(allData, function(item) {
var section = ko.utils.arrayFirst(self.documents(), function(documentSection) {
return documentSection.name === item.array_name;
});
section.documents.push(new Document(item));
});
});
}
相关文章:
- 带有多个答案选项的Javascript动态数组窗口
- 在jquery中声明基于动态变量的动态数组
- 给出动态数组时出现 jsTree 错误
- 如何将元素添加到动态数组并排除现有元素
- Javascript关联动态数组
- 计算类元素的未知/动态数组长度
- AngularStrap Select和ng选项don'使用动态数组不能很好地工作
- 如何在Javascript中创建动态数组
- JavaScript 动态数组与对象和数组
- jQuery中的动态数组名称
- 如何映射输入字段的动态数组
- 在动态 JavaScript 对象(键/值对)中创建动态数组
- 如何将一个数组数据添加到多个动态数组中
- 构建菜单或组合框,数据存储在“动态”数组中
- 创建简单的动态数组
- AngularJS重复动态数组值
- 引导预类型不适用于从 php 页面检索的动态数组
- 基于用户在UI中输入的数字创建动态数组(绑定到网格)
- JavaScript-动态数组和循环
- 将ng单击绑定到动态数组上的ng重复