`
icekiller110
  • 浏览: 71167 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JSMVC Ember官方文档翻译

    博客分类:
  • JS
阅读更多

最近想使用JSMVC对象项目进行改造,所以调研了下前端的jsmvc的框架,参考了《The top 10 Javascript MVC Frameworks Reviewed》,所以对其中比较推崇的Ember进行了进一步调研,同时翻译了Ember官方的Doc文档。

 

预览:

 

目录:

 

简介

     什么是Ember.js ?

     Ember.js 与众不同 ?

     Ember.js 概览

入门指南

Ember的对象原型

     子类化类

     重新打开类和实例

     计算出的属性(取值器)

     计算出的属性(设值器)

     观察者[或者理解为监听器]

     绑定

     什么时候使用 ?

创建一个命名空间

使用Handlebars描述你的UI

     Handlebars

     Ember.View

     Handlerbars基础

     {{#if}}, {{else}}, 和 {{#unless}}

     {{#with}}

     使用{{bindAttr}}绑定元素属性

     使用{{bindAttr}}绑定类名称

     使用{{action}}处理事件

     建立视图层次

     {{view}}

     设置子视图模版

     设置绑定

     修改视图的HTML

     显示一个元素列表

     书写自定义Helper

     视图包含的 (一些控件)

深入视图

     事件处理

     使用Ember.ControllerView手工管理视图

     渲染管道

     自定义HTML元素

     视图上属性绑定

Ember可枚举器的API

     什么是可枚举的

     Ember中可枚举的

     可枚举的接口

 

内容:

什么是Ember.js

Ember是一个用来创建雄心勃勃 (牛X) 的web应用程序的JS框架,它消除了样本文件并且提供一个标准的应用程序架构。

消除样板文件

对于每一个web应用程序都有一些通用的任务。例如:从服务器取得数据,渲染数据到屏幕上,然后当数据变更的时候更新显示信息。

 

因为浏览器提供的做这件事情的工具很原始,你最终要一遍又一遍的编写相同的代码。Ember.js提供了一些工具,让你专注于你的应用程序,而不是书写100遍相同的代码。

Ember.js 概览

有三个特性,使得你乐于使用Ember

 

绑定

计算出的属性

模版自动更新

绑定:

使用绑定可以是两个不同对象的属性保持同步。你只需要声明一次绑定,然后Ember会确保变化在所有位置进行传播。

 

以下是如何创建一个对于两个对象的绑定:

1

2

3

4

5

6

7

8

9

10

11

MyApp.president = Ember.Object.create({

  name: "Barack Obama"

});

MyApp.country = Ember.Object.create({

  // Ending a property with 'Binding' tells Ember to

  // create a binding to the presidentName property.

  presidentNameBinding: 'MyApp.president.name'

});

// Later, after Ember has resolved bindings...

MyApp.country.get('presidentName');

// "Barack Obama"

绑定允许你构建你的应用程序使用MVC模式,然后Rest很容易知道数据将一直正确的在层与层之间传输。

计算出的属性:

计算出的属性允许你像一个属性一样对待一个function

1

2

3

4

5

6

7

8

9

10

MyApp.president = Ember.Object.create({

  firstName: "Barack",

  lastName: "Obama",

  fullName: function() {

    returnthis.get('firstName') + '' + this.get('lastName');

  // Call this flag to mark the function as a property

  }.property()

});

MyApp.president.get('fullName');

// "Barack Obama"

计算出的属性是有用的,因为它们可以和binding一起协作,就像其他的属性一样。

 

许多计算出的属性依赖于其他属性。例如,在上面的例子中,fullName属性依赖firstNamelastName来确定它的值。你可以告诉Ember关于这些依赖,像这样:

 

1

2

3

4

5

6

7

8

9

MyApp.president = Ember.Object.create({

  firstName: "Barack",

  lastName: "Obama",

  fullName: function() {

    returnthis.get('firstName') + '' + this.get('lastName');

  // Tell Ember that this computed property depends on firstName

  // and lastName

  }.property('firstName', 'lastName')

});

自动更新的模版:

Ember使用Handlebars(一个语义化的模版库)。从你的JS 应用程序取得数据,然后把它带进DOM,创建一个<script>标签,把它放到你的HTML中任何你想要让你的值出现的地方:

1

2

3

<script type="text/x-handlebars">

  The President of the United States is {{MyApp.president.fullName}}.

</script>

这是最好的部分:模版是有意识的绑定。就是说,如果你曾经改变那些用来显示的属性的值,我们将为你自动更新它。因为你已经指定了依赖,改变这些属性也会被很好的反映出来。

 

希望你可以看清这三个强大的工具是怎么在一起协作的:以一些原始属性开始,然后开始构建更复杂的属性和包含依赖的的计算出的属性。一旦你已经完成了数据的表示,你只需要说明他是如何展现一次的,然后Ember会关注剩下的。不管底层数据的如何变化,无论是来自XHR请求或用户执行操作,你的用户界面总是保持最新的。这就消除了开发人员每天都在努力的所有边缘情况的用例

<!--EndFragment-->

 

 ......

 

先声明由于翻译是我一个人完成,也没有经过其他人的校验,所以错误在所难免,发出来的目的有两个:


一是帮助想使用Ember.js的童鞋,方便阅读和理解。

二是希望大家看后指明其中的错误,使此文档更准确。


详细内容请看附件。

分享到:
评论
1 楼 linhonghui 2012-12-02  
感谢感谢感谢

相关推荐

    Ember.js用户手册

    Ember.js是一款强大的前端Model-View-Controller (MVC)框架,专为构建富交互的Web应用程序而设计。用户手册是开发者入门Ember.js的重要参考资料,涵盖了基础概念、实例解析和最佳实践。以下是对手册中关键知识点的...

    Ember.js cookbook

    ### Ember.js Cookbook 知识点概览 #### 标题:Ember.js Cookbook - **核心概念**:本书主要介绍了如何使用 Ember.js 进行 Web 应用开发。 - **适用对象**:适合希望深入了解 Ember.js 的前端开发者、Web 开发者及...

    ember.js  

    学习和掌握Ember.js 需要理解MVC架构,熟悉JavaScript基础,以及一定的前端开发经验。通过阅读《Ember.js 用户手册.docx》,开发者可以深入理解框架的各个部分,并学会如何高效地利用Ember.js 构建现代Web应用。

    todo-mvc-ember-3-源码.rar

    此源码分析将深入探讨 Ember.js 3 的核心特性以及如何在 Todo MVC 应用中使用它们。 【标签】:“前端开发”、“Ember.js”、“MVC架构”、“源码分析” 【正文】: Todo MVC Ember 3 源码分析: 1. **Ember.js ...

    ember_data_example, 使用 ember.js 和 ember data.js 测试CRUD的简单 Rails 应用.zip

    ember_data_example, 使用 ember.js 和 ember data.js 测试CRUD的简单 Rails 应用 Ember数据示例这个简单的Rails 3.2应用程序创建为演示 Ember.js,ember数据和活动模型序列化程序。 它使用Ember和Ember数据的边缘...

    Ember官网文档中英文对照

    总的来说,Ember.js 是一个全面的解决方案,不仅提供了自动化数据绑定和模板更新,还提供了完整的 MVC 架构和一套标准化的开发流程,使得开发者能够构建出高效、可扩展且易于维护的 web 应用程序。无论你是初学者...

    Ember.js v3.11.0.zip

    Ember.js是一个用于创建 web 应用的 JavaScript MVC 框架,采用基于字符串的Handlebars 模板,支持双向绑定、观察者模式、计算属性(依赖其他属性动态变化)、自动更新模板、路由控制、状态机等。 Ember是一个...

    Ember.js.Web.Development.with.Ember.

    Build ambitious single-page web applications using the power of Ember.js and Ember CLI About This Book Build scalable web applications with Ember.js and Ember CLI Leverage the working examples to ...

    ember.js 简单的实例

    Ember CLI 是 Ember.js 的官方命令行工具,它提供了快速启动新项目的脚手架,包括自动创建路由、组件和服务等。使用 Ember CLI,你可以方便地进行开发、构建和测试。 在 Ember.js 应用的开发过程中,组件...

    Ember.js MVC 框架 v3.24.0

    为您提供Ember.js MVC 框架下载,Ember.js是一个用于创建 web 应用的 JavaScript MVC 框架,采用基于字符串的Handlebars 模板,支持双向绑定、观察者模式、计算属性(依赖其他属性动态变化)、自动更新模板、路由...

    前端项目-ember.js.zip

    Ember.js是一个强大的JavaScript框架,专门用于构建单页应用程序(SPA)和复杂的Web应用。它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和代码的可维护性。在这个“前端项目-ember.js.zip”压缩包中,你...

    Mastering Ember.js

    Mastering Ember.js kindle版 前端mvc框架

    ember.js实战中文完整版

    ember中文完整版,唯一一个中文版的ember全面的学习材料

    Ember.js MVC 框架 v3.25.0 beta1

    为您提供Ember.js MVC 框架下载,Ember.js是一个用于创建 web 应用的 JavaScript MVC 框架,采用基于字符串的Handlebars 模板,支持双向绑定、观察者模式、计算属性(依赖其他属性动态变化)、自动更新模板、路由...

    ember.js资源包

    ember.js,一个构建“雄心勃勃”的应用程序的javascript框架。相对于angularjs稳定性更高一些。基于模版的开发方式让你重新认识编码方式。此处仅提供ember.js和handlebar.js资源文件。jquery请自行下载。注意ember只...

Global site tag (gtag.js) - Google Analytics