一段时间以来,我一直在深入使用 ko.mapping 扩展并从中受益,并开发了一些非常复杂的嵌套对象。当 Sanderson 最近在新的淘汰赛预测库上发布博客时,我提出了如何重新审视我的一些问题以从中受益的问题。如前所述,projections 库使用 Knockout 3.0 的 arrayChange 功能与数组创建更牢固的关系,从而减少了订阅 observableArrays 更改时的额外开销。
我现在要做的是使用这个新库并改进我的模型。我的一些关系具有嵌套关系,这些关系通常是循环的,因此我必须在一些实例上使用“deferEvaluation”,以便在它们全部发疯并开始相互竞争之前让它们初始化。
我开始使用基本的地图功能,例如
self.Workshifts = self.WorkshiftsData.map(function(ws) {
return new ScheduleWorkshift(ws);
});
在其他情况下,过滤器
newWSE.Workshifts = self.WorkshiftsData.filter(function(ws) {
return ws.Key == wse.WorkshiftKey;
});
然而,一些更复杂的属性仍然存在一个大问题,需要将它们的初始化推迟到整个模型被加载……这确实是先有鸡的问题。
我知道这是全新的,这就是为什么我认为我是第一个在这个标签上发布问题的人。我想要更多关于这方面的信息,以及你可以在哪里使用它来利用它的真正力量。
不过,对于那些善于解释的勇敢者来说,我的问题是
'我如何将链接与地图和过滤器结合使用,什么是我真正需要这样做的好情况?我得到的对象能做什么?
干杯...
ps ...我没有 1500+ 的代表,并且希望有人创建并添加标签 'knockout-projections' 到这个问题并开始它......