跟我学Angular2(1-初体验)

0、导言

Angular1作为最流行的前端MV*框架,给前端开发带来了极大的便利性。但是,仍然有许多不好的地方已经很难再改变了。Angular团队根据WEB发展的趋势和Angular1中积累的经验来开发了一个全新的Angular,也就是Angular2。

1、优势

Angular2做了很激进的变化,带来的成果也是显而易见的。

  1. 极大的提高了性能
  2. 更强大的模块化
  3. 改进的依赖注入
  4. 对Web Component友好
  5. 原生移动支持 - iOS 和 Android
  6. 服务端渲染,搜索引擎优化

2、工具链

由于Angular2面向未来,使用了太多还不被当前主流浏览器支持的技术,跑起来还真不是一个容易的事情,所以我们需要一个工具链:

systemjs - 通用模块加载器,支持AMD、CommonJS、ES6等各种格式的JS模块加载

es6-module-loader - ES6模块加载器,systemjs会自动加载这个模块

traceur - ES6转码器,将ES6代码转换为当前浏览器支持的ES5代码。systemjs会自动加载 这个模块。

3、Angular2 Hello world

Step1、下载angular2

https://angular.io/是angular2的官网,我们需要通过npm进行下载angular2: npm install angular2 https://www.npmjs.com/package/angular2

Step2、引入angular2

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title></title>
  <script src="../node_modules/angular2/bundles/angular2.sfx.dev.js"></script>
</head>

<body>
</body>

</html>

Step3、 Hello angular

<body>
  <app></app>
  <script>
  var App = ng.Component({
    selector: ‘app‘,
    template: ‘<h1>Hello {{name}}.</h1>‘
  }).Class({
    constructor: function() {
      this.name = ‘Angular2‘;
    }
  });
  ng.bootstrap(App);
  </script>
</body>

*:first-child {
margin-top: 0 !important;
}

body>*:last-child {
margin-bottom: 0 !important;
}

/* BLOCKS
=============================================================================*/

p, blockquote, ul, ol, dl, table, pre {
margin: 15px 0;
}

/* HEADERS
=============================================================================*/

h1, h2, h3, h4, h5, h6 {
margin: 20px 0 10px;
padding: 0;
font-weight: bold;
-webkit-font-smoothing: antialiased;
}

h1 tt, h1 code, h2 tt, h2 code, h3 tt, h3 code, h4 tt, h4 code, h5 tt, h5 code, h6 tt, h6 code {
font-size: inherit;
}

h1 {
font-size: 28px;
color: #000;
}

h2 {
font-size: 24px;
border-bottom: 1px solid #ccc;
color: #000;
}

h3 {
font-size: 18px;
}

h4 {
font-size: 16px;
}

h5 {
font-size: 14px;
}

h6 {
color: #777;
font-size: 14px;
}

body>h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h4:first-child, body>h5:first-child, body>h6:first-child {
margin-top: 0;
padding-top: 0;
}

a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 {
margin-top: 0;
padding-top: 0;
}

h1+p, h2+p, h3+p, h4+p, h5+p, h6+p {
margin-top: 10px;
}

/* LINKS
=============================================================================*/

a {
color: #4183C4;
text-decoration: none;
}

a:hover {
text-decoration: underline;
}

/* LISTS
=============================================================================*/

ul, ol {
padding-left: 30px;
}

ul li > :first-child,
ol li > :first-child,
ul li ul:first-of-type,
ol li ol:first-of-type,
ul li ol:first-of-type,
ol li ul:first-of-type {
margin-top: 0px;
}

ul ul, ul ol, ol ol, ol ul {
margin-bottom: 0;
}

dl {
padding: 0;
}

dl dt {
font-size: 14px;
font-weight: bold;
font-style: italic;
padding: 0;
margin: 15px 0 5px;
}

dl dt:first-child {
padding: 0;
}

dl dt>:first-child {
margin-top: 0px;
}

dl dt>:last-child {
margin-bottom: 0px;
}

dl dd {
margin: 0 0 15px;
padding: 0 15px;
}

dl dd>:first-child {
margin-top: 0px;
}

dl dd>:last-child {
margin-bottom: 0px;
}

/* CODE
=============================================================================*/

pre, code, tt {
font-size: 12px;
font-family: Consolas, "Liberation Mono", Courier, monospace;
}

code, tt {
margin: 0 0px;
padding: 0px 0px;
white-space: nowrap;
border: 1px solid #eaeaea;
background-color: #f8f8f8;
border-radius: 3px;
}

pre>code {
margin: 0;
padding: 0;
white-space: pre;
border: none;
background: transparent;
}

pre {
background-color: #f8f8f8;
border: 1px solid #ccc;
font-size: 13px;
line-height: 19px;
overflow: auto;
padding: 6px 10px;
border-radius: 3px;
}

pre code, pre tt {
background-color: transparent;
border: none;
}

kbd {
-moz-border-bottom-colors: none;
-moz-border-left-colors: none;
-moz-border-right-colors: none;
-moz-border-top-colors: none;
background-color: #DDDDDD;
background-image: linear-gradient(#F1F1F1, #DDDDDD);
background-repeat: repeat-x;
border-color: #DDDDDD #CCCCCC #CCCCCC #DDDDDD;
border-image: none;
border-radius: 2px 2px 2px 2px;
border-style: solid;
border-width: 1px;
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
line-height: 10px;
padding: 1px 4px;
}

/* QUOTES
=============================================================================*/

blockquote {
border-left: 4px solid #DDD;
padding: 0 15px;
color: #777;
}

blockquote>:first-child {
margin-top: 0px;
}

blockquote>:last-child {
margin-bottom: 0px;
}

/* HORIZONTAL RULES
=============================================================================*/

hr {
clear: both;
margin: 15px 0;
height: 0px;
overflow: hidden;
border: none;
background: transparent;
border-bottom: 4px solid #ddd;
padding: 0;
}

/* IMAGES
=============================================================================*/

img {
max-width: 100%
}
-->

时间: 2024-10-10 18:40:09

跟我学Angular2(1-初体验)的相关文章

1Python全栈之路系列之Django初体验

Python全栈之路系列之Django初体验 Django不得不说在Python中是一个非常强大的全栈框架,而且入门也比较简单,只要你学完了基本的Django知识,接着再做一两个项目,不大不小就成,然后你再去学其它的框架你会发现,在那些小而美的框架中,你学起来将非常的快,因为你在学习Django的时候就已经学习并且体验过了Web开发流程,所以会有这么一个现象出现,有些新手朋友在学习Flask.Tornado等小而美的框架时,很多概念不是很理解,比如ORM.路由等,但你学Django就不会出现这种

SSH初体验系列--Hibetnate--2--crud操作

Ok,今天比较详细的学习一下hibernate的C(create).R(read).U(update).D(delete) 相关api... 前言 Session: 是Hibernate持久化操作的基础,提供了众多的数据库操作方法,如save(),update(),delete()...etc,用于完成对象的增加,修改,删除等方法. 后面代码中使用到的HinernateUtil类:是用于构建SessionFactory(Hibernate提供的获取session的工厂类)的一个封装类,在前面的文

Shell脚本编程初体验

Shell脚本编程初体验 分类 编程技术 通 常,当人们提到"shell脚本语言"时,浮现在他们脑海中是bash,ksh,sh或者其它相类似的linux/unix脚本语言.脚本语言是与计算机 交流的另外一种途径.使用图形化窗口界面(不管是windows还是linux都无所谓)用户可以移动鼠标并点击各种对象,比如按钮.列表.选框等等.但 这种方式在每次用户想要计算机/服务器完成相同任务时(比如说批量转换照片,或者下载新的电影.mp3等)却是十分不方便.要想让所有这些事情变得简单并 且自动

Windows Azure 免费初体验 - 创建部署网站

前几天在看到有个学Windows Azure课程,送Windows Azure的活动,课程地址:http://www.microsoftvirtualacademy.com/ 在活得体验资格后,就迫不及待的捣鼓了下.在这里就介绍一下如何将自己的网站部署到Windows Azure上. 首先介绍下本机环境: -- 安装了Visual Studio 2013(自带数据库设计工具;虽然安装了SQL Server 2008,但是还是无法连接 SQL Server 2014) -- 安装了Git 下面就将

第三次随笔--安装虚拟机及学习linux系统初体验

第三次随笔--安装虚拟机及学习linux系统初体验 ·学习基于VirtualBox虚拟机安装Ubuntu图文教程在自己笔记本上安装Linux操作系统 首先按照老师的提示步骤进行VirtualBox虚拟机的安装,安装过程可谓一帆风顺,一马平川,并没有遇到什么问题. ·成功安装之后打开虚拟机 对就是这个样子,略微有一点激动,还好,在自己的电脑上运行并不会有太多的卡顿 ·参考老师的学习方法通过实践学习Linux 基础入门(新版)课程,掌握常用的Linux命令,重点是3/4/5/6/7/8节. 虚拟机安

安全初体验

最近尝试在几个高校跟各个学生来讲安全入门的一些东西,我把这个称谓安全初体验,我说是从抓肉鸡开始,但是讲完后,同学们都一脸茫然,不知道我说的是什么,可能是我的入口点没有找对,那么我现在就将网络上以及一些自己整理的安全入门的东西分享给大家,希望能够对想进入这个行业的同学一点帮助吧. 首先进入这个行业,我们需要一个背影,看着这个背影来不断的成长,给我们精神上的支持和寄托,因为这个行业的门槛相对还是比较高的,有了这个背影,我们才能够在每一个孤单寂寞的夜里,不断的坚持前行,永不放弃.我想每个在这个行业坚持

grunt初体验

最近参与多人团队项目开发过程之中,使用到了grunt来构建项目,包括一些文件的压缩,合并等操作.亲自动手进行grunt任务的配置,学到了很多东西.现将自己的学习过程记录如下: 1.对于一个项目而言,使用grunt构建工具主要依托于两个文件Gruntfile.js/Gruntfile.coffee以及package.json,其中第一个文件详细配置了grunt需要执行的任务信息,第二个文件则是每一个node项目规范要求的文件,里面存储一下有关该项目的环境信息: 2.Gruntfile.js文件的配

Spring学习初体验

一.首先我们要明确我们为什么要学?在我们学习了javaweb基础后,我们基本可以完成基本的网站要求,但是我们为什么要学习和使用使用Spring? 1.降低组件之间的耦合度,实现软件各层之间的解耦. controller----->service--------->dao 2.可以使用容器几桶的众多服务.如:事务管理服务.消息服务.当我们使用容器管理时,开发人员就不再需要手工控制事务,也不需处理复杂的事务传播. 3.容器提供单例模式支持,开发人员不再需要自己编写实现代码. 4.容器提供了AOP技

Django初体验——搭建简易blog

前几天在网上看到了篇采用Django搭建简易博客的视频,好奇心驱使也就点进去学了下,毕竟自己对于Django是无比敬畏的,并不是很了解,来次初体验. 本文的操作环境:ubuntu.python2.7.Django1.8.6.Pycharm5.其实自从使用了ubuntu之后就很神奇的喜欢上了它,真的用起来方便很多. 1.Django项目文件并创建blog应用 (1)可以在终端中建立Django项目,使用django-admin startproject ...直接上图: 建立blog应用: (2)