这里是Knockoutjs.com网站上Knockout层叠购物车编辑器实时示例的my fiddle attempt组合代码,以及RP Niemeyer的data binding nested arrays 示例,尝试实现一个扩展了产品选项的级联购物车Niemeyer给出的功能格式。
感谢S.Sanderson,R.P.Niemeyer,J.Papa在社区推广Knockout方面的出色工作。太棒了!
答案 0 :(得分:3)
好吧,所以你的小提琴比它需要的要复杂一点,但是我试图单独留下结构,以防你计划扩展。我确实有几个问题,但我会在最后得到那些问题。首先,你的问题:
您有多个数量和小计属性,每个对象一个(行,类别和产品)。你的分层让他们感到困惑(老实说)。我删除了模型上的额外数量和小计属性,无论如何都没有意义,但我把它们留在了你的数据中。你应该真正理清你想要的样子。
您的分层错误,removeLine正在寻找cartLine上的一个函数,然后发送产品,但您在viewmodel上有这个功能,需要cartLine。将删除行移动到最外层的上下文修复了这个。
我没有收到此错误。
您的价格没有得到正确的更新。这是一个上下文分层问题。
我认为你联系到了Niemeyer的错误小提琴,你链接的那个没有产品。
以下是代码的working fiddle。它仍然有点凌乱,因为我再次尝试不要超过我需要的东西。你真的应该考虑重构数据和/或视图模型,但它不需要这么复杂。我删除了一些分层,因为它与你的viewmodel不匹配。
此外,您的category.subscribe方法是INSIDE计算的可观察小计。我将它移到了外面,进入模型。
注意:我在小提琴中使用knockout2.0。请考虑更新。 Knockout1.3Beta没有以相同的方式实现控制流,这导致了我没有谈到的单独错误。
所以,我的问题: