Ember.js 余烬2.0控制器还是组件。。。?

Ember.js 余烬2.0控制器还是组件。。。?,ember.js,ember.js-2,Ember.js,Ember.js 2,我已经读到Ember2正试图删除控制器。我甚至被链接到这个RFC。然而,我一直在遵循教程,他们坚持制作一个控制器。我们是否仍然需要制作控制器,或者这已经过时了?控制器仍然需要(因此没有被弃用),原因有两个:查询参数和组件还不能路由。您可以按照教程使用控制器,而不会在以后给您带来太多痛苦 但是,如果您想提前阅读本教程,可以使用组件,但不包括上述两个注意事项。没有办法使用控制器作为查询参数,但您可以使用以下简单的技巧避免缺少可路由组件: 假设您正在创建一个名为Dashboard的路由。本教程还将告诉

我已经读到Ember2正试图删除控制器。我甚至被链接到这个RFC。然而,我一直在遵循教程,他们坚持制作一个控制器。我们是否仍然需要制作控制器,或者这已经过时了?

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

但是,如果您想提前阅读本教程,可以使用组件,但不包括上述两个注意事项。没有办法使用控制器作为查询参数,但您可以使用以下简单的技巧避免缺少可路由组件:

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

{{dashboard-main items=model foo=foo bar=bar ...}}
根据您在路由中所做的工作,您可能仍然需要
setupController()
方法(这仍然是您将模型以外的值从路由移动到模板以便将它们传递到组件的唯一方法),当然,您的控制器/组件实现可能会有其他微小更改,但这是它的基本要点


为了更好地应对不推荐使用的控制器,您应该使用组件来避免它们。

正如您所听到的,控制器将不推荐使用,但我认为这在一段时间内不会发生。如果教程使用的是控制器,我会使用控制器。我可以在路由器中使用代理和setTemplate做类似的事情。