EmberJS快速入门(二)

来源:互联网 发布:ios10不安全网络怎么连 编辑:程序博客网 时间:2024/05/17 15:17

英文原版:https://guides.emberjs.com/v2.13.0/getting-started/core-concepts/

核心概念

在开始编写ember代码之前,先对ember的工作机制有一个总体的了解是个不错的事情。
这里写图片描述

路由和路由处理程序

想像一下我们现在要编写一个发布租赁信息的站点。在那么,我们都应该考虑回答例如这样的问题:租赁信息应该怎么展示??它们可编辑吗?? 通过Ember,这些问题的答案都可以通过URL来解答。URL可以通过如下方法来设置:

  • 当用户第一次访问应用的时候。
  • 当用户人为的更改URL的时候,例如通过点击浏览器的回退按钮。
  • 当用户点击了应用内的超链接。
  • 其他一些会引起URL改变的事件。

不论URL怎么被设置,首先会发生的是Ember会将URL映射到对应的路由处理程序去。

路由处理程序会做两件事情:

  • 渲染对应的模板
  • 读取模型

模板

Ember使用模板来组织应用的HTML元素布局。
Ember中绝大部分的模板看起来都差不多,就像是HTML的片段。例如:

<div>Hi, this is a valid Ember template!</div>

Ember模板使用的是Handlerbars模板语法。任何对于Handlerbars有效的语法对于Ember都有效。

模板同时也可以把在当前上下文环境中提供给它们的属性显示出来,上下文可以是组件或者是路由控制器。例如:

<div>Hi {{name}}, this is a valid Ember template!</div>

这里, {{name}}是由当前上下文提供给模板的属性。

除了属性,”{{ }}” 双层大括号中还可以囊括 助手 和 组件。这个将在后续讨论。

模型

模型–是由各种状态组成的。

举个例子,一个发布有租赁信息的应用它想要保存的是被发布信息的种种细节,所以我们可以定义一个 “租赁”模型,在该模型中提供关于租赁的所有信息。并将它命名为rental。

模型一般由服务器生成,并且能被保存到任何地方,就比如 说 浏览器中的 Local Storage。

组件

模板用来描述用户接口的长相,组件是用来控制用户接口的行为。

组件由两部分组成:

  1. 一个由Handlebars编写的模板文件。
  2. 一个定义了组件行为的javascript源文件。

再举例,我们这个发布租赁信息的应用应该有一个叫 all-rentals 的组件用来展示租赁信息。还需要一个用来展示具体某一条租赁信息详情的组件,就叫它 rental-tile吧。我们应该给它定义一个行为,用来让用户隐藏/显示 相关图片。

ok,本节就先到此结束。欲闻后事如何,请听下回分解。

在下一小节,我们将创建此应用来展示如何通过Ember来实现我们想要的功能。