ember.js - 关于 Ember 中 Controller 的典型行为

标签 ember.js

ember.js 中的 Controller 是否意味着与 iOS 的主视图区域/场景相关联,或者更多地与一组数据相关联?

在 ember 中将多个主要 View 绑定(bind)到同一个 Controller 是否常见/明智?

在 iOS 中,屏幕的主要部分或部分与单个 Controller 相关联。如果你想呈现另一个主界面,比如说一个模式窗口来创建一个新元素,你(通常)有一个完全独立的 Controller 来管理该 View 及其数据/逻辑。

在 Zend Framework 之类的东西中,您的 Controller 可能会执行一些常见的启动步骤以确保身份验证,但在很大程度上,这些操作扮演着 Controller 在 iOS 中所做的角色,处理逻辑并为 1 个主要部分或 View (即 Web ,这通常最终成为整个页面)。

在 ember 中使用 Controller 的典型角色或建议模式是什么?

最佳答案

您在这里有几个不同的问题,所以我将一次解决一个。

首先,您问 Controller 应该是面向数据的还是面向 View 的。根据我的经验,这两种行为都是允许的。 Controller 是管理应用程序数据集的绝佳方式,包括过滤和搜索等。 Evin Grano 从 SproutCore 的角度写了一篇很好的文章,大多数概念也应该适用于 Ember:http://www.itsgotwhatplantscrave.com/2009/07/30/root-controller-paradigm/ . Controller 也非常适合控制应用程序的状态和行为。例如,您可以将一个方法放在一个 Controller 中,该方法作为按钮操作绑定(bind)到您的应用程序的其他地方。但是,您还应该检查 Ember 状态,看看它们是否更适合您的场景。

其次,您询问将多个 View 绑定(bind)到同一个 Controller 。就个人而言,只要 Controller 保持明确的目的,我对此没有任何担忧。如果 View 在逻辑上相关并且共享相同的状态或数据,那么单个 Controller 是有意义的。如果您发现 Controller 增长到覆盖太多不同的区域,您应该考虑将其拆分为多个 Controller 。

关于ember.js - 关于 Ember 中 Controller 的典型行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8664573/

相关文章:

javascript - Ember.JS 值绑定(bind)在 Action 中不起作用

ember.js - Ember.Object.create 不再支持定义调用 _super 的方法

绑定(bind) Ember TextField 中的计算属性

javascript - 从 Ember.js 中的路由访问操作

ember.js - 登录后同步注入(inject)当前用户

ember.js - Ember - 如何在一个页面中处理 2 个模型,并且其中一个模型加载速度非常慢?

ember.js - Ember Octane 如何清除表单错误?

ObjectController 上的绑定(bind) - Ember.js

ember.js - Elasticsearch和Ember Js

javascript - 将对象数组传递给 Ember.Select 时出错