【发布时间】:2014-08-31 03:55:05
【问题描述】:
好的,场景是我有一个对象列表,它本身包含一个对象列表。我试图将外部对象放在我的 View-Model 的列表中,并试图将内部对象转换为我创建的具有额外属性的模型的对象,就像这样 -
function Tag(data, isChecked) {
var TagId = ko.observable(data.TagId);
var Description = ko.observable(data.Description);
var IsActive = ko.observable(data.IsActive);
var checked = ko.observable(isChecked)
}
这就是我的做法。
$.each(parentTags, function (i, tag) {
var tempTag = tag[i];
for (Object in tag.ChildTags)
{
var checked = false;
for(checkedItem in savedTags)
{
if(tag.ChildTags[Object].TagId === savedTags[checkedItem])
{
checked = true;
}
}
//var tempChild = new Tag(tag.ChildTags[Object], checked);
tempTag.ChildTags.push(new Tag(tag.ChildTags[Object], checked));
}
viewModel.ModelTags.push(tempTag);
});
parentTags = [[object Object],[object Object],[object Object],[object Object],[object Object],]
我绝对是 json 和淘汰赛的新手。任何帮助,将不胜感激。
这就是我现在拥有的,它似乎正在工作。
$.each(parentTags, function (i, tag) {
var tempTag = new Tags(JSON.parse(JSON.stringify(tag)));
tempTag.ChildTags().length = 0;
for (Object in tag.ChildTags) {
var checked = false;
for (checkedItem in savedTags) {
if (tag.ChildTags[Object].TagId === savedTags[checkedItem]) {
checked = true;
}
}
tempTag.ChildTags().push(new Tag(tag.ChildTags[Object], checked));
}
viewModel.ModelTags().push(tempTag);
});
【问题讨论】:
标签: javascript json model-view-controller mvvm knockout.js