Knockout.js KnockoutJS-嵌套数据,加载子项
我对knockoutjs非常陌生——已经完成了教程 我已经有了一个很好的开始。我有一份似乎很合适的申请 托科。在这种情况下,我需要用JSON中的数据填充一个表。这 数据是嵌套的,并且可以嵌套在任何深度,但我的API只会 曾经返回两级深的数据 例如Knockout.js KnockoutJS-嵌套数据,加载子项,knockout.js,Knockout.js,我对knockoutjs非常陌生——已经完成了教程 我已经有了一个很好的开始。我有一份似乎很合适的申请 托科。在这种情况下,我需要用JSON中的数据填充一个表。这 数据是嵌套的,并且可以嵌套在任何深度,但我的API只会 曾经返回两级深的数据 例如 节点1 节点A 节点B 我已经设法把数据加载到我的表中了,可爱的。我已经吃过了 这更进一步,并且支持嵌套。我有一个要求,如果一个节点有子节点,它可以被注入到表的节点下面 这方面的一个例子是 节点1(HasChildren) 节点A
- 节点1
- 节点A
- 节点B
- 节点1(HasChildren)
- 节点A
- 节点B(有子节点)
- 节点1
- 节点A
- 节点B
- 节点B1
- 节点B2
看起来回发正在工作,但它不会回发更改的值,而是回发原始值。我想这是因为我需要使用一个可观察的耳环,现在就去探索它 我已经试着去理解你希望发生什么,我仍然有点不清楚,但我想我会提交我所做的,以便在需要时提供更多信息 您的问题标题提到嵌套,但从代码中可以看出,您并没有嵌套任何内容,而是将嵌套的父子对象展平 我不推荐使用jquery委托,因为它破坏了模型的封装,我将模板更改为使用click绑定,并在Crew/Component对象上放置了一个open函数
<td rowspan="3">
<a data-bind="click: open">Open</a>
<a>Save</a>
</td>
仅供参考-此小提琴在单击“打开”时仍会抛出错误,因为分配的对象未正确初始化。我把这个问题留给你来解决,因为我对这个领域的了解不够,无法自己解决。不过,添加行为工作正常
更新问题后编辑
下面是一个经过重新分解和简化的示例,应该可以让您开始学习。我删除了很多不必要的东西,以便更清楚地了解它是如何工作的
希望这能有所帮助。我建议看一下ko.mapping来处理您正在处理的一些数据加载。我认为这将有助于解决您遇到的一些数据问题
我只是想让你知道我给了你一个很好的机会。我现在的感觉是视图绑定逻辑有点复杂。我正在讨论如何重构它,看看是否能发现这个问题。你有什么进展吗?已经更新了代码/问题,所以希望它更有意义(:LauHi@Madcapnmckay-谢谢你的帮助!这已经有点道理了。你的权利我在筑巢方面出了问题。我更新了上面的问题,试图澄清一些事情!再次感谢你的时间,Lau@uniquelau-嘿。谢谢你的澄清。我会尝试制作一个简化的例子。一个问题。有什么区别从UI的角度看团队和组件之间的关系?它们能统一成一个对象吗?一点区别都没有!它是同一个对象,我只是给它起了一个不同的名字,因为我不能让它重复使用同一个对象。再次感谢你在这方面花费的时间。上面的内容真的很有帮助。目前正在研究这个问题,了解每个部分是如何工作的ks,然后集成其余功能。也将在此处发回最终解决方案。再次感谢您在这方面的帮助。谢谢您,现在查看此内容。