我是余烬的新手,我已经经历了一段时间的Ember JS Documentation
,突然有两个问题。我甚至在互联网上冲浪了几个小时,几乎找不到解决方案。所以,这是他们:
问题1:
引用余烬文档,
应用程序在应用首次启动时进入。就像任何一样 其他路由,默认情况下会加载一个应用程序模板。
上面引用的application
表示根据文档加载应用程序启动并呈现application.hbs
时加载的application route
。申请路线位于何处?
问题2:
router.js
文件在控制流中的确切位置加载?在申请路线之前还是在申请路线之后?
请求:
如果有人能帮助我完成 Ember JS 的完整流程(从用户输入localhost:4200
开始),我将不胜感激。
谢谢。
我会尝试尝试一下...但我也对其中一些东西感到困惑。
- Ember 解析器根据命名约定完成大量工作。默认情况下 - Ember 安装已经创建了一些东西---但在构建/或过程中的某个时间 - 它将创建可能暗示但您没有创建的控制器和路由。例如。。。您的文件夹结构中没有
application.js
路由...但余烬在幕后的神秘地带创造了它。这可能是这样你就不需要考虑表面积 - 如果你没有明确使用它。就像那个"路由"一样 - 它也将创建一个控制器。在渲染模板之前"输入"路由 - 因为它需要定义类似模型的东西 - 顺便说一下,它只是在可能不存在的(据您所知)同名控制器上设置的属性。(请参阅路由生命周期挂钩)其他隐式路由是/index/error/load 等 - 它们都在那里 - 对于每个路由 - 即使您看不到文件。如果要使用它们,则需要显式创建它们(使用 CLI)。 - 我只能想象路由器在您进入任何路由之前就已经加载好了......否则,它不会知道如何解决问题?-陷阱...尝试创建一个应用程序路由 - 并将其实际添加到路由器。事情会破裂。但好的一面是,您不必键入无论如何都存在的路线?
- 我不确定(还)还有更多细节 - 但我认为它是一个线程,它通过小孔眼移动并根据模型和属性在每个范围内获取更多数据。
这里有一些东西需要咀嚼:
dockyard.com/blog/2016/09/14/understanding-ember-s-resolver
EmberConf 2017: An Animation Guide to Ember Internals by Gavin Joyce
此外,Mike North的前端大师课程详细介绍了这些东西。 https://frontendmasters.com/workshops/ember/- 但你不只是在学习 Ember...你正在学习 Ember 制作的所有内容,比如 ES2015 - 而且在那个区域没有太多的同理心。
如果你能克服最初的谜团 - 余烬超级有趣。
看起来您的主要问题已在此处得到解决,看看我是否可以回答您的主要应用程序流问题。
Ember 运行一系列步骤来"打开"您的应用:
- 应用程序已打开(运行初始值设定项)
- 应用程序实例打开(运行实例初始值设定项)
- 应用实例加载路由器.js文件
- 路由器加载应用程序路由/控制器
- 路由器加载指定的路由/控制器(如果未指定,则回退到
index
路由/控制器)
本页(https://guides.emberjs.com/v3.0.0/getting-started/core-concepts/)所示的图表中概述了其中一些,但看起来我们可以对其进行改进以使事情更清晰。如果您有时间/兴趣,希望得到一些帮助更新图像!