gpt4 book ai didi

javascript - KnockoutJS - 主视图中的多个局部 View ?

转载 作者:可可西里 更新时间:2023-11-01 02:25:04 25 4
gpt4 key购买 nike

我正在尝试移植现有的 asp mvc 应用程序以使用 knockoutjs(纯 js/html),因为我不再真正需要 asp mvc 中的任何功能。但是,我可以预见的一个问题是我处理某些页面的方式。

我有一个页面包含大约 12 个部分 View ,每个部分都有自己的模型。现在使用 Knockout JS 似乎每个页面实际上应该只有 1 个 View 模型/ View ,但是我拥有的页面包含大量信息,这些部分类似于:

  • 客户详情
  • 客户地址
  • 客户最近的订单
  • 客户名片
  • 客户资金
  • ...

如果部分细节发生变化,为了使事情变得更加棘手,它需要更改另一部分的数据。因此,假设您删除了一张卡,然后它需要告诉资金控制它不再有卡,因此不会有资金。 (这都是一个抽象的例子,但希望能够说明这一点)

所以我有点不确定如何在 knockout 中做到这一点,因为那宁愿把它作为一个大模型,我很乐意这样做,但它包含很多信息。以及多种形式,因为您可以更新地址而无需更新其他所有内容。

那么我应该只为这个 View 制作一个大模型然后处理它吗?或者有没有办法让 View 相互交谈?

最佳答案

我会警告不要使用怪物 View 模型,因为它会产生您希望在复杂应用程序中避免的紧密耦合。

更好的解决方案是在 ko.subscribable 之上构建一个发布/订阅系统。然后通过管理对各种事件的订阅来促进 View 模型之间的通信。前期的工作要多一些,但它会在未来带来返回。

Here是一篇扩展主题的博客文章。我强烈推荐这个博客。它是针对特定 knockout 的挑战和策略的重要资源。

关于javascript - KnockoutJS - 主视图中的多个局部 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6509567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com