1

我读过 Ember2 正在尝试删除控制器。我什至链接到这个 RFC https://github.com/ef4/rfcs/blob/routeable-components/active/0000-routeable-components.md。但是,我一直在关注教程,他们坚持要制作一个控制器。我们还需要制作控制器还是已经过时了?

4

1 回答 1

2

仍然需要控制器(因此还没有被弃用),原因有两个:查询参数和组件还不能路由。您可以按照教程中的控制器使用方法进行操作,而不会在以后给您带来太多麻烦。

但是,如果您想领先于本教程,则可以使用组件代替,除非上面有两个警告。无法将控制器用于查询参数,但您可以使用这个简单的技巧来避免缺少可路由组件:

假设您正在创建一个名为 Dashboard 的路由。本教程还将告诉您创建相应的控制器和模板。继续这样做,但删除控制器。创建一个名为 的组件dashboard-main,将逻辑从 Controller 移动到 component.js 文件,将 Template 移动到组件的 Template。然后,在仪表板模板中,只需引用该组件:

{{dashboard-main items=model foo=foo bar=bar ...}}

根据您在路线中所做的事情,您可能仍然需要该setupController()方法(这仍然是您可以将模型以外的值从路线移动到模板以便它们可以传递给组件的唯一方法),并且当然,您的控制器/组件实现可能会有其他细微的变化,但这是它的基本要点。

为了在不推荐使用控制器时做好最充分的准备,您应该通过使用组件来避免它们。

于 2016-06-10T21:06:18.003 回答