angular2系列教程(一)hello world
今天我们要讲的是angular2系列教程的第一篇,主要是学习angular2的运行,以及感受angular2的components以及模板语法。
例子

这个例子非常简单,是个双向数据绑定。我使用了官网上最简单的方法来启动这个程序,并且去除cdn使用本地加载,保证长期可以运行(因为文件都在本地,我们不用担心版本更新的问题。)
运行方法:
全局安装http-server
npm install -g http-server
在根目录(hellowold)运行服务
http-server
根据提示打开相应的端口(一般是8080)。
也可以直接看我的github pages
http://lewis617.github.io/angular2-tutorial/hellowold/
公共部分
公共部分就是你可以直接复制粘贴拿去用的部分,包括
- index.html
- lib(文件夹以及里面所有的js文件)
- app/main.ts
这些文件都是完全不用修改的,还有一个文件需要部分修改:
- app/app.ts
这个文件必须导出App组件。其他文件都是需要自己编写的。
lib简介
<script src="lib/es6-shim.min.js"></script><script src="lib/system-polyfills.js"></script><script src="lib/shims_for_IE.js"></script>前三个文件是ie的polyfill,其他浏览器是不需要的
<script src="lib/angular2-polyfills.js"></script>包含了zone和reflect-metadata
- zone告诉angular2何时更新视图?还记的ng1的脏检查以及$apply吧,zone就是用来取代这些恶心的东西的!
- reflect-metadata也是为了使用 ES7风格的装饰器准备的,就像
@Component和@View。这在ng2里面重度使用! <script src="lib/system.js"></script><script src="lib/typescript.js"></script><script src="lib/Rx.js"></script>这三个文件分别用于模块系统、ts编译、响应式编程(增强处理异步的能力)
<script src="lib/angular2.dev.js"></script>是ng2的库文件
组件
其实这个程序就一个ts文件,还特别短!
app/app.ts
import {Component} from 'angular2/core';
@Component({ selector: 'app', template: ` <h1>Hello, {{name}}!</h1> Say hello to: <input [value]="name" (input)="name = $event.target.value"> `})export class App { name: string = 'World';}
定义一个类,给它装饰一个组件,组件是什么?就是ng1里面的指令,react中的组件,就是样子,看得见摸得着的东西。
这里我不得不夸一下ng2,实在改进太多了,所有的东西包括组件、服务、过滤器等都是一个类,然后用各自相关的@装饰器,装饰一下就可以了,非常简单明了!
模板语法
我们先来感受下ng2的模板语法,后面我会单独拿出来讲这个知识点。
值得高兴的是{{}}依然存在
<h1>Hello, {{name}}!</h1>
ng-model变成了[value],属性绑定用了[value]
<input [value]="name" (input)="name = $event.target.value">
事件绑定变成了(),里面是所有html5的事件比如,click,hover,input等等。ng2终于拥抱html5原生方法了!
教程源代码及目录
如果您觉得本博客教程帮到了您,就赏颗星吧!
https://github.com/lewis617/angular2-tutorial
angular2系列教程(一)hello world的更多相关文章
- angular2系列教程(十)两种启动方法、两个路由服务、引用类型和单例模式的妙用
今天我们要讲的是ng2的路由系统. 例子
- angular2系列教程(十一)路由嵌套、路由生命周期、matrix URL notation
今天我们要讲的是ng2的路由的第二部分,包括路由嵌套.路由生命周期等知识点. 例子 例子仍然是上节课的例子:
- angular2系列教程(九)Jsonp、URLSearchParams、中断选择数据流
大家好,今天我们要讲的是http模块的第二部分,主要学习ng2中Jsonp.URLSearchParams.observable中断选择数据流的用法. 例子
- angular2系列教程(八)In-memory web api、HTTP服务、依赖注入、Observable
大家好,今天我们要讲是angular2的http功能模块,这个功能模块的代码不在angular2里面,需要我们另外引入: index.html <script src="lib/htt ...
- angular2系列教程(六)两种pipe:函数式编程与面向对象编程
今天,我们要讲的是angualr2的pipe这个知识点. 例子
- angular2系列教程(五)Structural directives、再谈组件生命周期
今天,我们要讲的是structural directives和组件生命周期这两个知识点.structural directives顾名思义就是改变dom结构的指令.著名的内建结构指令有 ngIf, n ...
- angular2系列教程(四)Attribute directives
今天我们要讲的是ng2的Attribute directives.顾名思义,就是操作dom属性的指令.这算是指令的第二课了,因为上节课的components实质也是指令. 例子
- angular2系列教程(三)components
今天,我们要讲的是angualr2的components. 例子
- angular2系列教程(二)模板语法
今天我们要讲的是angualr2的模板语法,官网写的很清楚,但我也用通俗易懂的讲法再罗列一下吧! 例子
随机推荐
- 常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三)
前两篇文章讨论了 Gulp 的安装部署及基本概念,借助于 Gulp 强大的 插件生态 可以完成很多常见的和不常见的任务.本文主要汇总常用的 Gulp 插件及其基本使用,需要读者对 Gulp 有一个基本 ...
- CYQ.Data、ASP.NET Aries 百家企业使用名单
如果您或您所在的公司正在使用此框架,请联系左侧的扣扣,告知我信息,我将为您添加链接: 以下内容为已反馈的用户,(收集始于:2016-08-08),仅展示99家: 序号 企业名称 企业网址 备注 1 山 ...
- C#4.0泛型的协变,逆变深入剖析
C#4.0中有一个新特性:协变与逆变.可能很多人在开发过程中不常用到,但是深入的了解他们,肯定是有好处的. 协变和逆变体现在泛型的接口和委托上面,也就是对泛型参数的声明,可以声明为协变,或者逆变.什么 ...
- TypeScript Vs2013 下提示Can not compile modules unless '--module' flag is provided
VS在开发TypeScript程序时候,如果import了模块有的时候会有如下提示: 这种情况下,只需要对当前TypeScript项目生成设置为AMD规范即可!
- JS的内建函数reduce
@(js) reduce函数,是ECMAScript5规范中出现的数组方法.在平时的工作中,相信大家使用的场景并不多,一般而言,可以通过reduce方法实现的逻辑都可以通过forEach方法来变相的实 ...
- css居中div的几种常用方法
在开发过程中,很多需求需要我们居中一个div,比如html文档流当中的一块div,比如弹出层内容部分这种脱离了文档流等.不同的情况有不同的居中方式,接下来就分享下一下几种常用的居中方式. 1.text ...
- Servlet监听器笔记总结
监听器Listener的概念 监听器的概念很好理解,顾名思义,就是监视目标动作或状态的变化,目标一旦状态发生变化或者有动作,则立马做出反应. Servlet中的也有实现监听器的机制,就是Listene ...
- Java集合类--温习笔记
最近面试发现自己的知识框架有好多问题.明明脑子里知道这个知识点,流程原理也都明白,可就是说不好,不知道是自己表达技能没点,还是确实是自己基础有问题.不管了,再巩固下基础知识总是没错的,反正最近空闲时间 ...
- ubuntu-14.04-server配置Jexus --安装步骤记录
作者:郝喜路 个人主页:http://www.cnicode.com 博客地址:http://haoxilu.cnblogs.com 说明:我是Linux菜鸟,自己尝试配置Jexus服务 ...
- C#移动跨平台开发(1)环境准备
C#依托于mono平台可以实现Unix平台服务器端开发已经不是什么新鲜事了,而Xarmain公司(初始成员大多来自原Mono.MonoTouch.Mono For Android成员)继续将C#的先进 ...