我有一个嵌套对象,如:
Album
-- Track 1
----Clip
--Track 2
----(None)
Album
--Track x
----Clip
我使用knockout mapping plugin创建了viewModel。一切都按预期工作(事实上在这个帖子的帮助下can't resolve knockout js with nested objects)
现在问题是Track 2的Clip对象最初不存在。在界面中,用户创建了它,我从服务器(ajax调用)获得了关于此剪辑对象的正确JSON。现在,我如何更新我的viewModel(viewModel.albums是映射对象)以将此剪辑信息从我的Ajax回调推送到Track 2?我对ajax回调中Track的上下文没有任何线索。如果我有,那我认为会更容易。
如果问题没有意义,我会尝试在jsfiddle中添加更多视觉效果。提前致谢。
答案 0 :(得分:0)
听起来你想要这样的东西:
viewModel.albums()[i].tracks()[j].clip = ko.mapping.fromJS(data);
其中 i 是您要将其推送到哪个相册,而 j 是您要将该推送到该相册中的哪个曲目。