gpt4 book ai didi

javascript - 在 knockout.js 中重用 ViewModel 之间的数据

转载 作者:搜寻专家 更新时间:2023-11-01 05:13:28 24 4
gpt4 key购买 nike

我有一个由 AJAX 调用填充的 items 数组,它在网页上显示每个项目的几个数据字段。

现在我需要让用户点击一个项目,该项目会填充侧边栏,其中包含从上一个 AJAX 请求中收到的数据(一些字段以及更多)。

我想通常人们会采用 id 并执行特定于 item 的 AJAX 请求,通过 Sammy.js 将其路由,但我们不需要这样做。

我是 knockout 的新手;我想象的最好的策略是为各种 div 提供一个 ViewModel 来显示数据,但是如何让 ViewModels 在它们之间传递数据呢?这是禁忌吗?

  • 通过窗口对象引用其他窗口?
  • 使用 with: 关键字?它不断出现,但我看不出如何在这种情况下应用它。
  • 也许通过 Sammy.js,并在 Amplify 中缓存数据?

这是一个向下钻取功能的示例,我已经阅读了一些关于此的 StackOverflow 问答,但找不到我可以使用的东西。我已经按照 John Papa 的 PluralSight 教程进入了这个阶段。

最佳答案

您可能希望使用带有 Amplify 的消息传递或 @RPNiemeyer 上面提到的库的发布/订阅模型。两者都很棒。

但是听起来您只是想从服务器获取数据,然后在多个 View 模型中使用该数据。甚至可能在多个 View 模型中共享一些数据。我的 SPA 教程中的数据上下文概念允许您在数据上下文中托管数据并从其他 View 模型引用它。

您还可以使用像 Breeze 这样的库来帮助执行此操作(Breeze 将替换我的 SPA 中的数据上下文......并且会做得更好,我将在即将到来的类(class)中展示)。

这些只是几个选项

关于javascript - 在 knockout.js 中重用 ViewModel 之间的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13478705/

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