上一篇 使用Angular-cli搭建Angular2开发环境

  Angular2采用组件的编写模式,或者说,Angular2必须使用组件编写,没有组件,你甚至不能将Angular2项目启动起来

  紧接着上一篇 环境搭建 的文章,我们这一篇来讨论Angualr2的项目结构和几本组件的编写模式

  

  Angular-cli.json里面配置了项目的几本信息,包括版本名字之类的

  package.json 是npm包配置

  tslint你可以自行百度下,是一种标准化代码检查的东西

  其他的不用特别去关心,我们项目的核心在于src文件夹,里面包括了我们初始化的东西,下面我们简单介绍下

  index.html 我想不用过多解释,首页

  polyfills.ts 这里面放项目所必须的第三方js,angular-cli监理的项目里面包括了一些东西,不用关系,之后要用到的其他js库可以直接在这里面添加

  main.ts 项目的启动,这里面的代码也不用特别关心

  在app文件夹下有一系列代码,其中就有app.module.ts;angular-cli建立的项目是由这里指定启动的组件的

  

  这里我们就可以开始接触Angular2的组件了

  我们打开app.component.ts

  

import { Component } from '@angular/core';

@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app works!';
}

  @Component是一个Angualr2的装饰器,它告诉Angular下面的类是一个Angular2的组件,

  selector选择器表示你之后再html代码里将以什么名字使用这个组件

  templateUrl表示组件的html代码,这里也可以使用template:`<div>123</div>`来使用内联模板

  styleUrls是样式地址数组,也可以使用 styles:['h1{font-size:28px;}']

  而下面的类就是就是组件的类,可以定义组件的行为等

  我们来编写一个简单的组件

  重新编写app.component.ts

import { Component } from '@angular/core';

@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = '论楼主';
words:Array<string>=[
'哦,听说楼主很帅?',
'是吗,没见过啊',
'真的真的,那天去软件园看到的'
]; }

重新定义了一个words的属性,类型为Array<string>(这列建议先去了解一下TypeScript,不了解也没太大关系,有一点儿基础就能看懂吧)  

app.componnet.html

<h1>
{{title}}
</h1>
<div class="container">
<ul>
<li *ngFor="let word of words">
<p>{{word}}</p>
</li>
</ul>
</div>

这里用到了angular指令*ngFor 效果是遍历属性,然后下面{{}}为插值表达式,将属性值显示出来 *ngFor的效果就是 ES6的for of 语法效果,

这里强烈建议大家连接一下Angular2模板语法 

 app.component.css

ul{
list-style-type: none;
}
p{
padding:10px;
}
.container{
margin:0px auto;
max-width: 1280px;
text-align: center;
}
h1{
text-align: center;
}

  Angualr2的组件样式只会应用到相应的组件上面,不会对其他的组件样式产生影响

  下面看看效果图

  结束语:这一篇我们只是简单介绍了下Angular2的一些东西,简单编写了一个组件而已,在后面的学习过程中会用到很多其他的概念,模板语法,依赖注入等,遇到的时候会解释一下

下一篇应该讲 多个组件了吧

更新ing。。。

  

  

  

Angular2入门系列教程2-项目初体验-编写自己的第一个组件的更多相关文章

  1. Angular2入门系列教程3-多个组件,主从关系

    上一篇 Angular2项目初体验-编写自己的第一个组件 好了,前面简单介绍了Angular2的基本开发,并且写了一个非常简单的组件,这篇文章我们将要学会编写多个组件并且有主从关系 现在,假设我们要做 ...

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

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

  3. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

  4. Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数

    上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...

  5. Angular2入门系列教程4-服务

    上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...

  6. Angular2入门系列教程1-使用Angular-cli搭建Angular2开发环境

    一直在学Angular2,百忙之中抽点时间来写个简单的教程. 2016年是前端飞速发展的一年,前端越来越形成了(web component)组件化的编程模式:以前Jquery通吃一切的田园时代一去不复 ...

  7. Taurus.MVC 微服务框架 入门开发教程:项目部署:6、微服务应用程序Docker部署实现多开。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...

  8. ASP.NET MVC 入门系列教程

    ASP.NET MVC 入门系列教程 博客园ASP.NET MVC 技术专题 http://kb.cnblogs.com/zt/mvc/ 一个居于ASP.NET MVC Beta的系列入门文章,有朋友 ...

  9. Android视频录制从不入门到入门系列教程(一)————简介

    一.WHY Android SDK提供了MediaRecorder帮助开发者进行视频的录制,不过这个类很鸡肋,实际项目中应该很少用到它,最大的原因我觉得莫过于其输出的视频分辨率太有限了,满足不了项目的 ...

随机推荐

  1. SQL Server中的高可用性(2)----文件与文件组

        在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...

  2. 基于spring注解AOP的异常处理

    一.前言 项目刚刚开发的时候,并没有做好充足的准备.开发到一定程度的时候才会想到还有一些问题没有解决.就比如今天我要说的一个问题:异常的处理.写程序的时候一般都会通过try...catch...fin ...

  3. [.NET] 利用 async & await 进行异步 IO 操作

    利用 async & await 进行异步 IO 操作 [博主]反骨仔 [出处]http://www.cnblogs.com/liqingwen/p/6082673.html  序 上次,博主 ...

  4. 如何利用ansible callback插件对执行结果进行解析

    最近在写一个批量巡检工具,利用ansible将脚本推到各个机器上执行,然后将执行的结果以json格式返回来. 如下所示: # ansible node2 -m script -a /root/pyth ...

  5. MongoDB系列(二):C#应用

    前言 上一篇文章<MongoDB系列(一):简介及安装>已经介绍了MongoDB以及其在window环境下的安装,这篇文章主要讲讲如何用C#来与MongoDB进行通讯.再次强调一下,我使用 ...

  6. BPM应用开发解决方案分享

    一.需求分析企业整体管理是一个完整的体系,如果 把这个体系比做一个拼图,企业信息化通过各个业务系统覆盖了一部分业务. 企业通过采购实施通用软件的方式,覆盖了企业的核心业务和专业化业务然而系统只满足了部 ...

  7. Atitit.软件开发的三层结构isv金字塔模型

    Atitit.软件开发的三层结构isv金字塔模型 第一层,Implements 层,着重与功能的实现.. 第二次,spec层,理论层,设计规范,接口,等.流程.方法论 顶层,val层,价值观层,原则, ...

  8. asp.net core 实战之 redis 负载均衡和"高可用"实现

    1.概述 分布式系统缓存已经变得不可或缺,本文主要阐述如何实现redis主从复制集群的负载均衡,以及 redis的"高可用"实现, 呵呵双引号的"高可用"并不是 ...

  9. ORACLE分区表梳理系列(二)- 分区表日常维护及注意事项(红字需要留意)

    版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...

  10. 微信小程序新单位rpx与自适应布局

    rpx是微信小程序新推出的一个单位,按官方的定义,rpx可以根据屏幕宽度进行自适应,在rpx出现之前,web页面的自适应布局已经有了多种解决方案,为什么微信还捣鼓出新的rpx单位?在解释这个单位前,我 ...