今天我们要讲的是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/

公共部分

公共部分就是你可以直接复制粘贴拿去用的部分,包括

  1. index.html
  2. lib(文件夹以及里面所有的js文件)
  3. app/main.ts

这些文件都是完全不用修改的,还有一个文件需要部分修改:

  1. app/app.ts

这个文件必须导出App组件。其他文件都是需要自己编写的。

lib简介

  1. <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,其他浏览器是不需要的
  2. <script src="lib/angular2-polyfills.js"></script>包含了zone和reflect-metadata
  3. zone告诉angular2何时更新视图?还记的ng1的脏检查以及$apply吧,zone就是用来取代这些恶心的东西的!
  4. reflect-metadata也是为了使用 ES7风格的装饰器准备的,就像@Component@View 。这在ng2里面重度使用!
  5. <script src="lib/system.js"></script><script src="lib/typescript.js"></script><script src="lib/Rx.js"></script>这三个文件分别用于模块系统、ts编译、响应式编程(增强处理异步的能力)
  6. <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的更多相关文章

  1. angular2系列教程(十)两种启动方法、两个路由服务、引用类型和单例模式的妙用

    今天我们要讲的是ng2的路由系统. 例子

  2. angular2系列教程(十一)路由嵌套、路由生命周期、matrix URL notation

    今天我们要讲的是ng2的路由的第二部分,包括路由嵌套.路由生命周期等知识点. 例子 例子仍然是上节课的例子:

  3. angular2系列教程(九)Jsonp、URLSearchParams、中断选择数据流

    大家好,今天我们要讲的是http模块的第二部分,主要学习ng2中Jsonp.URLSearchParams.observable中断选择数据流的用法. 例子

  4. angular2系列教程(八)In-memory web api、HTTP服务、依赖注入、Observable

    大家好,今天我们要讲是angular2的http功能模块,这个功能模块的代码不在angular2里面,需要我们另外引入: index.html <script src="lib/htt ...

  5. angular2系列教程(六)两种pipe:函数式编程与面向对象编程

    今天,我们要讲的是angualr2的pipe这个知识点. 例子

  6. angular2系列教程(五)Structural directives、再谈组件生命周期

    今天,我们要讲的是structural directives和组件生命周期这两个知识点.structural directives顾名思义就是改变dom结构的指令.著名的内建结构指令有 ngIf, n ...

  7. angular2系列教程(四)Attribute directives

    今天我们要讲的是ng2的Attribute directives.顾名思义,就是操作dom属性的指令.这算是指令的第二课了,因为上节课的components实质也是指令. 例子

  8. angular2系列教程(三)components

    今天,我们要讲的是angualr2的components. 例子

  9. angular2系列教程(二)模板语法

    今天我们要讲的是angualr2的模板语法,官网写的很清楚,但我也用通俗易懂的讲法再罗列一下吧! 例子

随机推荐

  1. Recurrent Neural Network系列1--RNN(循环神经网络)概述

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...

  2. tLinux 2.2下安装Mono 4.8

    Tlinux2.2发行版基于CentOS 7.2.1511研发而成,内核版本与Tlinux2.0发行版保持完全一致,更加稳定,并保持对Tlinux2.0的完全兼容.Mono 4版本要求CentOS 7 ...

  3. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  4. SSH实战 · 唯唯乐购项目(下)

    后台模块 一:后台用户模块 引入后台管理页面 创建adminuser表: CREATE TABLE `adminuser` (   `uid` int(11) NOT NULL AUTO_INCREM ...

  5. Docker 第一篇--初识docker

    已经多年不写博客, 看完<晓松奇谈>最后一期猛然觉醒, 决定仔细梳理下自己这几年的知识脉络. 既然决定写, 那么首先就从最近2年热门的开源项目Docker开始.Docker 这两年在国内很 ...

  6. SQL Server 无法连接到服务器。SQL Server 复制需要有实际的服务器名称才能连接到服务器。请指定实际的服务器名称。

    异常处理汇总-数据库系列  http://www.cnblogs.com/dunitian/p/4522990.html SQL性能优化汇总篇:http://www.cnblogs.com/dunit ...

  7. requests的content与text导致lxml的解析问题

    title: requests的content与text导致lxml的解析问题 date: 2015-04-29 22:49:31 categories: 经验 tags: [Python,lxml, ...

  8. Javascript面向对象类文章目录

    1.javaScript的原型继承与多态性 2.JavaScript的继承实现方式 3.JS中 call() 与apply 方法

  9. nginx源码分析之模块初始化

    在nginx启动过程中,模块的初始化是整个启动过程中的重要部分,而且了解了模块初始化的过程对应后面具体分析各个模块会有事半功倍的效果.在我看来,分析源码来了解模块的初始化是最直接不过的了,所以下面主要 ...

  10. 【C#附源码】数据库文档生成工具支持(Excel+Html)

    [2015] 很多时候,我们在生成数据库文档时,使用某些工具,可效果总不理想,不是内容不详细,就是表现效果一般般.很多还是word.html的.看着真是别扭.本人习惯用Excel,所以闲暇时,就简单的 ...