gpt4 book ai didi

model-view-controller - Controller 中应该有什么逻辑,路由中应该有什么?

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

在我阅读了关于将事件逻辑放在哪里、 Controller 或路由中的讨论后,我开始想知道这一点。您应该在哪里处理(某些)事件?
https://github.com/emberjs/ember.js/pull/1209

一般来说,将某些东西放入 Controller 或路由的约定/规则是什么?

最佳答案

我喜欢把它想象成想知道你需要在什么背景下采取行动。行动以下列方式冒泡:

Controller -> 当前路由 -> 父路由 -> 应用程序路由。

所以一般来说,如果你只能看到你的 Action 在 Controller 的上下文中使用,那么它可能属于那里。如果路由处理多个 Controller (例如,如果您在模板中使用“渲染”),则该操作属于该路由。如果多个路由可以调用一个 Action ,则该 Action 属于父级。

在实践中,这通常看起来像是将它们写在 Controller 上,然后在您意识到有必要时将它们移动到路由中。

一些 Ember 开发人员还喜欢使用 Action 的性质来确定事情的走向(尽管我认为这是一种更模糊的方式来处理事情)。

比如按照这个学派:

如果该操作与路由有关(可能以“transitionTo”结尾),那么它属于路由器。如果它不处理路由(比如只是选择一个项目作为事件),那么它属于 Controller 。

重要的是选择一种启发式并与之保持一致,以便您/其他开发人员能够找到操作。

关于model-view-controller - Controller 中应该有什么逻辑,路由中应该有什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21069566/

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