2

我是 ember 的新手,我已经经历了Ember JS Documentation一段时间,突然想到了两个问题。我什至在互联网上冲浪了几个小时,几乎找不到解决方案。所以,这里是他们:

问题一:

引用 Ember 文档,

当您的应用程序首次启动时进入该应用程序。就像任何其他路由一样,它会默认加载一个应用程序模板。

application在上面的引用中,表示当application route应用程序启动并呈现application.hbs. 申请途径在哪里?

问题2:

文件究竟在控制流中的router.js什么位置被加载?申请途径之前还是申请途径之后?

要求:

另外,如果有人能帮助我完成 Ember JS 的完整流程(从用户输入时开始),我将不胜感激localhost:4200

谢谢。

4

2 回答 2

3

我会试着尝试一下……但我也对这些东西感到困惑。

  1. Ember 解析器根据命名约定做了很多工作。默认情况下 - Ember 安装已经创建了一些东西 --- 但在构建/或过程中的某个时间 - 它会创建可能隐含但您没有创建的控制器和路由。例如......application.js您的文件夹结构中没有路线......但 Ember 在幕后的神秘区域中创建了它。这可能是因为您不需要考虑表面积 - 如果您没有明确使用它。就像那个“路线”一样——它也会创建一个控制器。在渲染模板之前“输入”路线 - 因为它需要定义模型之类的东西 - 顺便说一下 / 只是一个可能不存在的属性(据您所知)同名控制器。(请参阅路由生命周期挂钩)其他隐式路由是 /index /error /loading 等 - 它们都在那里 - 对于每条路由 - 即使您看不到文件。如果要使用它们,则需要显式创建它们(使用 CLI)。
  2. 我只能想象在您输入任何路由之前路由器已加载好......否则,它不知道如何解决问题? - 陷阱......尝试创建一个应用程序路由 - 并将其实际添加到路由器。事情会破裂。但好的一面是,你不必输入一条不管怎样都存在的路线?
  3. 我不确定更多细节(还) - 但我认为它是一个穿过小孔眼并根据模型和属性在每个范围内获取更多数据的线程。

这里有几件事要咀嚼:

dockyard.com/blog/2016/09/14/understanding-ember-s-resolver

EmberConf 2017:Gavin Joyce 的 Ember 内部动画指南

此外,Mike North 的前端大师课程详细介绍了这些内容。https://frontendmasters.com/workshops/ember/ - 但你不只是在学习 Ember ......你正在学习 ember 的所有东西,比如 es2015 - 在那个区域没有太多的同理心

如果你能克服最初的谜团 - Ember 非常有趣。:)

于 2018-02-21T04:26:14.023 回答
1

看起来您的主要问题在这里得到了解决,看看我是否可以回答您的主要应用流程问题。

Ember 运行一系列步骤来“打开”您的应用程序:

  • 应用程序打开(运行初始化程序)
  • 应用程序实例打开(运行实例初始化程序)
  • 应用实例加载 router.js 文件
  • 路由器加载应用程序路由/控制器
  • 路由器加载指定的路由/控制器(如果未指定,则回退到index路由/控制器)

本页显示的图表中概述了其中的一些内容 ( https://guides.emberjs.com/v3.0.0/getting-started/core-concepts/ ),但看起来我们可以改进它以使事情更清晰。如果您有时间/兴趣,希望能在更新图像方面得到一些帮助!

于 2018-03-17T21:53:56.393 回答