Ember 2.0控制器或Just Components ......?

时间:2016-06-10 18:46:12

标签: ember.js ember-2.0.0

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

1 个答案:

答案 0 :(得分:2)

仍然需要控制器(因此未被弃用)有两个原因:查询参数,并且因为组件尚不可路由。您可以按照教程使用控制器,而不会在以后引起太多的悲伤。

但是,如果你想要超越教程,你可以使用组件,除非上面两个警告。没有办法将控制器用于查询参数,但是你可以使用这个简单的黑客来避免缺少可路由的组件:

让我们说你正在创建一个名为Dashboard的路线。本教程还将告诉您创建相应的Controller和Template。继续这样做,但删除控制器。创建一个名为HTTP/1.1 302 Found Location: https://ficcjira.xyz.com/browse/abc Server: BigIP Content-Length: 0 Cache-Control: proxy-revalidate Proxy-Connection: Keep-Alive Connection: Keep-Alive Date: Fri, 10 Jun 2016 21:00:39 GMT 的组件,将逻辑从Controller移动到component.js文件,将模板移动到组件的模板。然后,在仪表板模板中,只需参考组件:

dashboard-main

根据您在路线中所做的事情,您仍然可能需要{{dashboard-main items=model foo=foo bar=bar ...}} 方法(这仍然是您可以将路线以外的值移至路线的唯一方法模板,以便它们可以传递给组件),当然你的控制器/组件实现可能有其他微小的变化,但这是它的基本要点。

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