gpt4 book ai didi

ember.js - 不同的 Ember 路线或在各自的上下文中显示两个复杂的 View

转载 作者:行者123 更新时间:2023-12-02 21:33:11 25 4
gpt4 key购买 nike

我有一个应用程序有不同的相关问题。我左边有一个项目列表,它影响右边的一些项目(想想 Github 问题),但这里有一个模型

enter image description here

一切都好,我单击第一项,右侧发生了一些事情。但是,左侧的列表有其自己的路由要求,它是具有嵌套路由的项目资源。例如,当我们单击“创建新项目”时,我们会内嵌显示一个新表单(请参见左下角)

enter image description here

当我这样做时,即使它位于不同的 socket 上,它也会覆盖其他 socket 中当前渲染的内容。在这种情况下,产品在右侧。

如果我们可以为不同的部分使用不同的路由器,那就太理想了。我知道我可以调用渲染并创建一个新的 View / Controller ,但这需要我处理我自己的状态(我是创建一个新项目,编辑它,查看索引等)。

我目前正在研究查询参数作为一个选项。

有什么想法吗?

最佳答案

我尝试了很多方法来解决这个问题,最终得到了一个包含所有需要共存的各种路由的路由,使用 {{render}} 渲染其余的父路由,并使这些路由的 renderTemplate Hook NOOP(您必须专门执行此操作,否则您将收到断言错误,表明您使用了单例形式的渲染两次)。

但是,您不必管理自己的状态 - 您仍然可以使用嵌套路由及其模型 Hook ,并且由于您使用的是 {{render}} 事物的单例形式仍会自动渲染到正确的位置。换句话说:如果您使用 {{render}} 的单例形式,则路由可以通过 model Hook 设置该 Controller 模型(如果路由具有与 Controller 同名,或者使用 controllerFor 在另一个路由的 modelsetupController Hook 中。

您还可以在 renderTemplate Hook 中渲染到命名 socket 中,但我最终放弃了这种方法,因为在我不想断开连接的事物上调用disconnectOutlet 仍然存在问题。

对一些悬而未决的问题的讨论表明,最终可能会有一种方法来控制是否/何时拆除路线以及断开其 socket ,但前提是已经找到了一种不会增加发生这种情况的可能性的方法。对于以普通方式做事的人来说,内存泄漏。

关于ember.js - 不同的 Ember 路线或在各自的上下文中显示两个复杂的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20111301/

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