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