1

当列表中的某些嵌套项发生更改时,我正在寻找刷新视图。

主列表是rt.projects(),我使用 ID 找到了一些嵌套元素,我将其称为match并在嵌套列表中添加一项(SelectedMembersForProject

我想更新那个新增加的值来查看,我该怎么做?

这是我写的代码:

case "Project":
    debugger
    var match = ko.utils.arrayFirst(rt.projects(), function (item) {
        return item.Soid === ui.item.SourceSoid;
    });
    debugger;
    if (match) {
        var indexVal = rt.projects.indexOf(match)
        var AddItem = {
            MemberProfileId : ui.item.MemberSoid,
            MembeImageName: ui.item.ImageFileName,
            MemberName: ui.item.Name
        };
        match.SelectedMembersForProject.push(AddItem);
        rt.projects.replace(rt.projects()[indexVal], match);
    }
    break;

我仍然无法在 VIEW! 中看到我的新附加值,怎么了?

下面的图片应该有更多的想法 http://postimg.org/image/jx8n6516f/ http://postimg.org/image/5wx6cg4fn/

4

1 回答 1

1

从您发布的代码看来,问题是您的SelectedMembersForProject对象不是 observableArray。从服务器检索数据时,您可以做什么,将数据集转换为对淘汰赛友好的模型。

写起来不会很有趣,但这应该可以解决您的问题。

请参阅此处的工作示例(其中子数组可观察数组):http: //jsfiddle.net/hjhyn/

..在这里重现您的问题(子数组不是可观察数组):http: //jsfiddle.net/hjhyn/1/

于 2013-06-03T15:17:33.757 回答