初识Angular2
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最重要的作用是:
- 通过selector属性(值为CSS选择符),告诉Angular2框架,这个组件渲染到哪个DOM对象上。
- 通过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的更多相关文章
- AngularJS2.0教程(一)快速上手之基础知识
Why Angular2 Angular1.x显然非常成功,那么,为什么要剧烈地转向Angular2? 性能的限制 AngularJS当初是提供给设计人员用来快速构建HTML表单的一个内部工具.随着时 ...
- AngularJS2.0起步
ES6工具链 要让Angular2应用跑起来不是件轻松的事,因为它用了太多还不被当前主流浏览器支持的技术.所以,我们需要一个工具链:
- AngularJS2.0 hello world例子——引入这么多额外的依赖库真是很忧伤啊
初识Angular2 写一个Angular2的Hello World应用相当简单,分三步走: 1. 引入Angular2预定义类型 import {Component,View,bootstrap} ...
- Angular2 初识
AppComponent 壳的三个实现文件: app.component.ts— 组件的类代码,这是用 TypeScript 写的. app.component.html— 组件的模板,这是用 HTM ...
- day 81 Vue学习一之vue初识
Vue学习一之vue初识 本节目录 一 Vue初识 二 ES6的基本语法 三 Vue的基本用法 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 vue初识 vue称为渐进式js ...
- day 80 Vue学习一之vue初识
Vue学习一之vue初识 本节目录 一 Vue初识 二 ES6的基本语法 三 Vue的基本用法 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 vue初识 vue称为渐进式js框架 ...
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
- Angular2学习笔记(1)
Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...
- Angular杂谈系列1-如何在Angular2中使用jQuery及其插件
jQuery,让我们对dom的操作更加便捷.由于其易用性和可扩展性,jQuer也迅速风靡全球,各种插件也是目不暇接. 我相信很多人并不能直接远离jQuery去做前端,因为它太好用了,我们以前做的东西大 ...
随机推荐
- 整合maven,jetty,jrebel进行debug调试
整合maven,jetty,jrebel进行调试 maven配置 这个网上有很多,验证mvn是否配置正确: Jrebel配置 解压至目录,不建议目录名有空格 ,破解包下载 参考: http://zer ...
- Android--应用开发1(应用程序框架)
应用程序的框架,就是所有开发者共同是有和遵循的约定,大家在约定上进行必要的扩展,但程序的主体结构是一致的. Android系统提供给开发者一个框架,我们所有的应用开发就是在这个框架上进行扩展,下来看看 ...
- 【Java基础】Java多线程之线程组和线程池
在上一篇文章中,讲述了线程的基本概念和用法,这里将继续讲述线程组和线程池的一些东西. 线程组:java.lang.ThreadGroup 1. 线程组的介绍 线程组表示一个线程的集合.此外,线程组也可 ...
- HW2.20
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- 授权给adfs读取ad 在ad服务器上运行 - setspn 命令 -摘自网络
Because the application pool identity for the AD FS 2.0 AppPool is running as a domain user/service ...
- 第一个php网页
<?php date_default_timezone_set('PRC'); if($_POST[ok]) { //echo "记录"; //echo "here ...
- hdu 3722 Card Game 二分图的最大权匹配
题目可以转化为2个集合,x集合和y集合,其中的元素是1-n个字符串. 首先预处理点与点的边权,然后直接用二分图的最大权匹配模板. #include<stdio.h> #include< ...
- QT下自定义QQ聊天窗口tab控件
1.用继承pushbutton派生类来实现tab按钮,里面加一个QPushbutton关闭按钮:(自定义类:CCustomTabButton) 2.多个tab按钮用QHboxLayout做容器: 3. ...
- UVA Knight Moves
题目例如以下: Knight Moves A friend of you is doing research on the Traveling Knight Problem (TKP) where ...
- Linux 设置系统时间和日期 API
嵌入式Linux 设置时间和日期 API ,它是busybox要提取的源代码. Linux设置时间和日期的步骤: 1. 设置系统时间和日期: 2. 该系统的时间和日期,同步到硬件. #include ...