Ember js - 组件与控制器

时间:2016-06-13 15:11:51

标签: javascript ember.js

我是Ember的新手,我正在进行的任务是使用1.11版本。我曾经在Angular工作,我发现自己与Ember中的一些概念混淆了。读取Controller用于逻辑并处理数据,而Component(js)处理组件的行为

所以,我怀疑的是

1)我应该在哪里进行DOM操作

2)如果我需要修改/播放我的json数据,从服务器获取后控制器是正确的位置还是相应的组件?

2 个答案:

答案 0 :(得分:3)

  

1)我应该在哪里进行DOM操作

如果你能够将它移动到组件(在设计逻辑时),它肯定比控制器更合适。

  

2)如果我需要修改/播放我的json数据,从服务器获取后   控制器是正确的位置还是相应的组件?

最佳解决方案是从组件触发操作,这些操作应该在控制器中处理,您可以在控制器中操作您可能在路由中获得的JSON,并通过模型将其传递给控制器​​。

答案 1 :(得分:2)

为什么要使用这样一个旧版本的余烬?当前LTS版本为2.4,版本为2.6

自ember 1.13以来,问题发生了很大变化。

回答你的问题:

  1. 您应该从不手动执行DOM操作。使用把手模板。如果您绝对 到正确的位置组件的didInsertElement挂钩,或者在早期的ember版本中查看。

  2. 修改服务器数据的最佳方法是serializer!要计算其他数据,请使用modelcomponentcontroller上的计算属性。

  3. 通常仅使用控制器作为最后选择。在某些用例中, 使用它们,但不是很多。