gpt4 book ai didi

ember.js - Ember 路由器和 Controller 逻辑

转载 作者:行者123 更新时间:2023-12-03 06:36:14 25 4
gpt4 key购买 nike

我很想知道新的 ember 路由和 Controller 的逻辑位于哪一层:

如果我们以下面的路线为例:

step1: Ember.Route.extend
route: '/step1'
connectOutlets: (router, event) ->
exercise = WZ.Exercise.createRecord()
router.get('exercisesNewStep1Controller').set 'groups', WZ.store.find(WZ.Group)
router.get('exercisesNewController').connectOutlet 'step', 'exercisesNewStep1', exercise

我的ExercisesNewStep1Controller当前没有逻辑:

WZ.ExercisesNewStep1Controller = Em.Controller.extend()

推荐的建议似乎是让路由只负责将正确的导出分配给正确的 Controller 以及 Controller 中的任何其他逻辑。

我应该将我的 Controller 重构为这样的东西:

WZ.ExercisesNewStep1Controller = Em.Controller.extend
createGroup: ->
@set 'groups', WZ.store.find(WZ.Group)

这是一个非常简单的例子,但我认为逻辑成立。

我有点困惑所有图层的位置。我认为创建所有这些 xxxController、xxxView 文件以及它们之间的耦合会产生少量开销。

我喜欢 ember,但我只是想提出这一点。

最佳答案

我和Tilde团队进行了一些交流,Tom Dale教我们遵循hvgotcodes提出的方法。 .

但是在与 Peter Wagenet 讨论后进行了改进:作为对我的 interrogation 的回复,彼得和耶胡达mitigated我们根据汤姆的解释所持的立场。

所以我总结一下整个情况:

  • 行为应该在路由的事件处理程序中进行高层编码,
  • 但是因式分解的低级原语可能(/应该?)本地化在 Controller 中。

原因是任何处理都应该限制在给定的路由范围内,这确保整个应用程序的行为一致,而不是向应用程序的任何部分开放所有可能的处理。

关于ember.js - Ember 路由器和 Controller 逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11666526/

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