如何在 emberjs 中触发应用程序路由
How application route getting triggered in emberjs
我是 emberjs 的新手,正在尝试了解正在进行的 ember 代码库。我看到 application.js 路由器和控制器在我们的项目中默认执行,但没有在路由器文件中的任何地方提及它。但是 ember cli 默认情况下也不会生成 application.js 路由。
为什么会这样?应用程序路由和控制器的真正用途是什么?它是如何被执行的?请分享您的想法或任何有用的文档链接。
蒂亚
问题的第一部分直接取自 docs:
您的应用首次启动时会输入应用程序路由。与其他路由一样,默认情况下它将加载具有相同名称(在本例中为应用程序)的模板。您应该将页眉、页脚和任何其他装饰性内容放在这里。所有其他路线会将其模板呈现到 application.hbstemplate 的 {{outlet}}。
此路由是每个应用程序的一部分,因此您无需在 app/router.js
中指定它
作为控制者:
如果您想自定义其属性或提供任何操作,则只需生成一个控制器。如果您没有自定义,Ember 将在 运行 时为您提供一个 Controller 实例。
始终呈现应用程序模板内容,因此如果您希望在每个页面上显示某些内容(例如放置在其中的导航栏)。
我是 emberjs 的新手,正在尝试了解正在进行的 ember 代码库。我看到 application.js 路由器和控制器在我们的项目中默认执行,但没有在路由器文件中的任何地方提及它。但是 ember cli 默认情况下也不会生成 application.js 路由。
为什么会这样?应用程序路由和控制器的真正用途是什么?它是如何被执行的?请分享您的想法或任何有用的文档链接。
蒂亚
问题的第一部分直接取自 docs:
您的应用首次启动时会输入应用程序路由。与其他路由一样,默认情况下它将加载具有相同名称(在本例中为应用程序)的模板。您应该将页眉、页脚和任何其他装饰性内容放在这里。所有其他路线会将其模板呈现到 application.hbstemplate 的 {{outlet}}。
此路由是每个应用程序的一部分,因此您无需在 app/router.js
中指定它作为控制者:
如果您想自定义其属性或提供任何操作,则只需生成一个控制器。如果您没有自定义,Ember 将在 运行 时为您提供一个 Controller 实例。
始终呈现应用程序模板内容,因此如果您希望在每个页面上显示某些内容(例如放置在其中的导航栏)。