gpt4 book ai didi

mvvm - 如何将数据(选定项目)传递给 Durandal 组合详细 View ?

转载 作者:行者123 更新时间:2023-12-04 04:18:01 25 4
gpt4 key购买 nike

我已经开始使用(几小时前)Durandal希望管理 View 并允许在单个页面中进行组合 - 以前的方法(也使用 Knockout)变得过于笨拙,无法在胖 HTML 文件中维护。

我已经安装/设置了 Durandal,我可以创建 View 和 View 模型 - 但是,我不知道如何将数据导入 View 模型以用作新 View 模型的基础。

例如,我有一个用于选择项目的“左侧导航栏”——当一个项目被选中时,它会更新当前模型中可观察到的“选定项目”,但它也应该在右侧加载正确的“详细 View ”:因为部分尝试 Durandal 分离组件/ View 的原因,这应该来自单独的 View / View 模型。

我已经阅读了包括 Composition 在内的文档和 Using Composition ,但是我不清楚如何将数据传递给 View 模型的方法。似乎我可以使用现有模型的 View (在当前 View /范围内),但我真的很想只使用一些当前模型数据(即 id)来获取“真实”模型数据风景。

因此,我的问题;

  • 如何将初始数据(例如“选定项目”)传递给 View 模型?我更喜欢使用声明性的“compose:”绑定(bind),因为这就是 KO .. KO 的原因。
  • 这种拥有/传递初始数据的概念在这里是正确的方式,还是有更好的选择?我已经看到模糊地提到了“activeItem”,但细节/用途却让我印象深刻。


  • 更新 1:我找到了 How do we share the data between views/Pass the data view to view ,但在实际执行中缺乏响应。我真的不想在父子之间共享 View 模型(不同的 View / View 模型对),我想使用声明性方法(无事件)。 parent 不需要知道 child ,但 child 需要从 parent 那里得到数据。

    更新 2:虽然上面我暗示只需要“id”,但我想要一种适用于任何基础对象的方法,路由器不一定适合。在这种情况下,深度链接不是问题。但是,如果您认为路由器是解决此问题的方法,请发布此类(带有详细信息)的论点作为答案,我至少会给它一个赞成票..

    最佳答案

    如果您查看微风源代码,您可以看到一个主从方法的示例。

    他们正在使用激活器来组成 subview 。

    https://github.com/IdeaBlade/Breeze/blob/master/Samples/TempHire/TempHire/App/viewmodels/resourcemgt.js

    我不知道您是否正在使用微风,但该方法与您如何获取数据无关。

    关于mvvm - 如何将数据(选定项目)传递给 Durandal 组合详细 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15327653/

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