gpt4 book ai didi

durandal - 在 Durandal 中导航时传递对象

转载 作者:行者123 更新时间:2023-12-01 01:06:09 27 4
gpt4 key购买 nike

我正在使用 Durandal 2.0。我有一个搜索 View ,想将所选项目传递到详细信息 View 。我知道如何传递 Id,但由于在这种情况下搜索具有整个对象,因此我想在导航时传递对象。我以为我可以使用带有 splat 的路线,但我不确定如何当我激活路线时发送它。

路由映射为:

router.map([
{ route: '', title: 'Search', moduleId: 'viewmodels/search', nav: true },
{ route: 'create', title: 'Add', moduleId: 'viewmodels/create', nav: true },
{ route: 'details*movie', title: 'Details', moduleId: 'viewmodels/details', nav: false },
{ route: 'edit', title: 'Edit', moduleId: 'viewmodels/edit', nav: false }
]).buildNavigationModel();

搜索 View 模型导航如下:
    var openmovie = function (data) {
router.navigate('details*'+ ??what do I do here??);
};

详细 View 模型有一个激活功能:
    var activate = function(data) {
???what will the data be???
return true;
};

最佳答案

使用路由器的导航无法执行您尝试执行的操作。当您导航时,路由器会在内部更改 URL,从而触发组合生命周期。所以基本上为了完成这项工作,您需要在 URL 查询字符串中添加所有对象,这可能非常难看。

看看这个very completed answer by Jonathan Curtis in the DurandalJS Google Groups关于如何处理这种情况。

建议的三种方法是:

  • 亲子
  • 事件聚合器
  • 共享上下文(或模型)
  • 关于durandal - 在 Durandal 中导航时传递对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18607621/

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