Ember Controller vs Ember ArrayController

Ember Controller vs Ember ArrayController

本文关键字:Ember ArrayController Controller vs      更新时间:2023-09-26

对于何时使用Ember.Controller和何时使用Ember.ArrayController及其用法,我没有明显的区别。

使用控制器,您可以在模板中执行{{#each item in model}}

使用ArrayController,您可以简单地执行{{#each item}}

能。ArrayController 已被弃用,因为它模糊了逻辑,你永远不应该使用它。控制器也被弃用,取而代之的是可路由组件,在 Ember 2.1 或 2.2 中的某个地方。

当前的策略如下:

  • 忘记 ArrayController、ObjectController 和 View。
  • 将组件用于所有内容。
  • 在 Ember 2.1/2.2 之前,您无法将组件用于任何路由的根模板。对于该模板,必须使用控制器。
  • 不要将任何逻辑放入该控制器。只需将组件放置在其模板中并传递模型即可。此类控制器仅用于查询参数和组件(尚)无法执行的其他操作。
  • 在路由中,请勿使用 setupController 。相反,将所有内容放入模型中,将其转换为模型的哈希值。 RSVP.hash是你的朋友。
  • 当可路由组件可用时,将控制器替换为组件。

PS each的语法正在更改为 {{#each model as |item|}} .