一、Templates
使用Handlebars模板语言来描述程序的用户接口。每一个模板都有model的支持,如果model改变template就会自动更新。
- Expressions: like {{firstName}} --从模板的模型获取信息并把它放入HTML中。
- Outlets: 是其他模板的占位符。当用户访问你的应用程序时,不同的模板可以通过router(路由器)被插入到outlet。你可以通过{{outlet}}把outlets放入你的模板中。
- Components: 你可以使用自定义的HTML元素去清除重复的模板或者创建可重用的空间。
二、Router
路由器把一个URL转换成一系列的嵌套的模板,每个模板都有model支持。当templates和models被用来展现用户变化时,Ember自动保持浏览器地址栏中的URL最新。
三、Components:一个组件是一个自定义的HTML标签,它的行为通过JavsScript来实现,它的外观通过Handlebars templates来描述。它们允许你创建可重用的控件,可以简化应用程序的模板。
四、Models:一个model是一个存储持久状态的对象。templates负责把model转换为HTML向用户展示。在许多应用程序中, 模型是通过一个HTTP JSON API来加载的。
五、Routes:一个route就是一个对象,它告诉template应该展现哪一个model。