我最近发现了 ember.js,它的复杂性和可能性引起了我的兴趣。到目前为止,我浏览了一些学习材料:
- Ember.js 自己的指南
- 几个源代码(例如示例 ToDo 应用程序)
- 汤姆和耶胡达的演讲
从这些,我了解到对于框架应该如何使用,我们应该如何命名视图、控制器和模型,以及如果我们遵循这些约定,我们可以节省大量的代码输入,因为Ember.js 有很多“假设”。默认情况下,Node.js 可以“开箱即用”地做到这一点。
当然,这非常方便,但只有在您真正知道幕后发生的事情时,您才不必编写。我的问题由此而来:
例如,当我们定义一个应用程序模板和一个视图时会发生什么?自动为我们做了什么?是否为我们实例化了 applicationController?或者,我们必须手动创建一个吗?其他不是 applicationViews/Controllers 的视图/控制器对呢,比如子视图(因为 applicationView 和 applicationController 在某种程度上是独一无二的,它们必须存在于任何 ember.js 应用程序中)?
如果我们只定义一堆路由但不覆盖任何路由器的默认常规行为,那么路由器(来自 1.0pre4 的 API)会自动为我们做什么?
就个人而言,真正能帮助我理解这里的关键概念的是一个示例应用程序,它可以转换到另一个状态,它可以实现应用程序正常工作所需要做的一切(意思是,它不依赖于 ember 会做的任何代码否则对我们来说)。这样,我将能够看到各个部分在起作用,并在我的脑海中“重新设计”该过程,并希望能够完整地理解该过程。
如果这个问题过于复杂或模糊,请建议我如何缩小我的兴趣。