我是Ember的新手,我正在进行的任务是使用1.11版本。我曾经在Angular工作,我发现自己与Ember中的一些概念混淆了。读取Controller用于逻辑并处理数据,而Component(js)处理组件的行为
所以,我怀疑的是
1)我应该在哪里进行DOM操作
2)如果我需要修改/播放我的json数据,从服务器获取后控制器是正确的位置还是相应的组件?
答案 0 :(得分:3)
1)我应该在哪里进行DOM操作
如果你能够将它移动到组件(在设计逻辑时),它肯定比控制器更合适。
2)如果我需要修改/播放我的json数据,从服务器获取后 控制器是正确的位置还是相应的组件?
最佳解决方案是从组件触发操作,这些操作应该在控制器中处理,您可以在控制器中操作您可能在路由中获得的JSON,并通过模型将其传递给控制器。
答案 1 :(得分:2)
为什么要使用这样一个旧版本的余烬?当前LTS版本为2.4
,版本为2.6
。
自ember 1.13
以来,问题发生了很大变化。
回答你的问题:
您应该从不手动执行DOM操作。使用把手模板。如果您绝对 到正确的位置仅组件的didInsertElement
挂钩,或者在早期的ember版本中查看。
修改服务器数据的最佳方法是serializer
!要计算其他数据,请使用model
,component
和controller
上的计算属性。
通常仅使用控制器作为最后选择。在某些用例中, 使用它们,但不是很多。