Angular2是面向未来的科技,要求浏览器支持ES6+,我们现在要尝试的话,需要加一些 垫片来抹平当前浏览器与ES6的差异:

angular2-polyfills - 为ES5浏览器提供ES6特性支持,比如Promise等。
systemjs - 通用模块加载器,支持AMD、CommonJS、ES6等各种格式的JS模块加载
typescript - TypeScript转码器,将TypeScript代码转换为当前浏览器支持的ES5 代码。在本教程中,systemjs被配置为使用TypeScript转码器。
Rx - javascript版本的反应式编程/Reactive Programming实 现库,被打包为systemjs的包格式,以便systemjs动态加载。
angular2.dev - Angular2框架,被打包为systemjs的包格式,以便systemjs动态加载模块。

http.dev - angular2的HTTP访问库router.dev - angular2的路由库

1.引入Angular2预定义类型

import {Component} from "angular2/core";
import {bootstrap} from "angular2/platform/browser";

import是ES6的关键字,用来从模块中引入类型定义。在这里,我们从angular2模块库中引入了两个类型: Component类和bootstrap函数。

2.实现一个Angualr2组件

实现一个Angular2组件也很简单,定义一个类,然后给这个类添加注解:

@Component({
    selector:"ez-app",
    template:"<h1>Hello,Angular2</h1>"
})
class EzApp{}

class也是ES6的关键字,用来定义一个类。@Component是给类EzApp附加的元信息, 被称为注解/Annotation。

@Component最重要的作用是:

  1. 通过selector属性(值为CSS选择符),告诉Angular2框架,这个组件渲染到哪个DOM对象上。
  2. 通过template属性,告诉Angular2框架,使用什么模板进行渲染。

3.渲染到DOM

将组件渲染到DOM上,需要使用自举/bootstrap函数:

bootstrap(EzApp);

这个函数的作用就是通知Angular2框架将EzApp组件渲染到DOM树上。

注解/Annotation

@Component和@View  就是给一个类添加注解,等同于设置这个类的annotations属性:

@Component({selector:"ez-app"})
class EzApp{...}

等同于

class EzApp{...}
EzApp.annotations = [new Component({selector:"ez-app"})];

注解/Annotation的功能就是Angular2团队向编译器开发团队提出的,因此这通常不是 编译器的默认选项,因此我们在配置systemjs时使用TypeScript转码时打开注解:

System.config({
  transpiler: 'typescript',
  typescriptOptions: { emitDecoratorMetadata: true },
});

systemJS  - 用于在在浏览器和NodeJS中加载ES6模块,AMD,CommonJS和全局脚本。

System.config({

  // set all requires to "lib" for library code
  baseURL: '/lib/',

  // set "app" as an exception for our application code
  paths: {
    'app/*': '/app/*.js'
  }
});

System.import('app/app').then(null, console.error.bind(console));

初识Angular2的更多相关文章

  1. AngularJS2.0教程(一)快速上手之基础知识

    Why Angular2 Angular1.x显然非常成功,那么,为什么要剧烈地转向Angular2? 性能的限制 AngularJS当初是提供给设计人员用来快速构建HTML表单的一个内部工具.随着时 ...

  2. AngularJS2.0起步

    ES6工具链 要让Angular2应用跑起来不是件轻松的事,因为它用了太多还不被当前主流浏览器支持的技术.所以,我们需要一个工具链:

  3. AngularJS2.0 hello world例子——引入这么多额外的依赖库真是很忧伤啊

    初识Angular2 写一个Angular2的Hello World应用相当简单,分三步走: 1. 引入Angular2预定义类型 import {Component,View,bootstrap} ...

  4. Angular2 初识

    AppComponent 壳的三个实现文件: app.component.ts— 组件的类代码,这是用 TypeScript 写的. app.component.html— 组件的模板,这是用 HTM ...

  5. day 81 Vue学习一之vue初识

      Vue学习一之vue初识   本节目录 一 Vue初识 二 ES6的基本语法 三 Vue的基本用法 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 vue初识 vue称为渐进式js ...

  6. day 80 Vue学习一之vue初识

    Vue学习一之vue初识   本节目录 一 Vue初识 二 ES6的基本语法 三 Vue的基本用法 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 vue初识 vue称为渐进式js框架 ...

  7. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  8. Angular2学习笔记(1)

    Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...

  9. Angular杂谈系列1-如何在Angular2中使用jQuery及其插件

    jQuery,让我们对dom的操作更加便捷.由于其易用性和可扩展性,jQuer也迅速风靡全球,各种插件也是目不暇接. 我相信很多人并不能直接远离jQuery去做前端,因为它太好用了,我们以前做的东西大 ...

随机推荐

  1. ubuntu下git安装及连接github

    1.安装 sudo apt-get install git git-core git-gui git-doc git-svn git-cvs gitweb gitk git-email git-dae ...

  2. ZOJ3228 - Searching the String(AC自动机)

    题目大意 给定一个文本串,接下来有n个模式串,每次查询模式串出现的次数,查询分两种,可重叠和不可重叠 题解 第一次是把AC自动机构造好,跑n次,统计出每个模式串出现的次数,交上去果断TLE...后来想 ...

  3. 中局域网LAN中建立局域网可访问的类GitHub的服务器

    There are several ways to do this Host internal repositories like Gitlab (free software) or Stash. T ...

  4. 问题.NET--win7 IIS唯一密钥属性“VALUE”设置为“DEFAULT.ASPX”时,无法添加类型为“add”的重复集合

    问题现象:.NET--win7 IIS唯一密钥属性“VALUE”设置为“DEFAULT.ASPX”时,无法添加类型为“add”的重复集合 问题处理: 内容摘要:    HTTP 错误 500.19 - ...

  5. 【Hibernate】--一对一关联、联合主键

    一.数据模型 1.学生信息模型(编号.名称.身份信息) public class Student implements java.io.Serializable{ private static fin ...

  6. js http 请求 多个相同参数名传值

    最近在用js和api做对接的时候需要传参数类似于 rights=a1&rights=a2 因为有相同的参数名,试过很多方法都被覆盖了. 最后终于发现可以通过rights=[a1,a2]的方式, ...

  7. windows 下安装elasticsearch

    1.下载 elasticsearch-2.3.3.zip 注意::elasticsearch 版本太高的话,java运行不起来 elasticsearch-1.5.2下载地址 http://downl ...

  8. heX:用HTML5和Node.JS开发桌面应用

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  9. [React] React Fundamentals: Owner Ownee Relationship

    The owner-ownee relationship is used to designate a parent-child relationship with React components ...

  10. 常用加密算法的Java实现(一) ——单向加密算法MD5和SHA

    1.Java的安全体系架构 1.1           Java的安全体系架构介绍 Java中为安全框架提供类和接口.JDK 安全 API 是 Java 编程语言的核心 API,位于 java.sec ...