AngularJS2 学习笔记——angularjs2架构
学习资源: Angular 2 应用程序主要由以下8个部分组成:1、模块 (Modules) 模块 Module模块由一块代码组成,可用于执行一个简单的任务。 几个重要的属性:
app/app.module.ts 示例 import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
@NgModule({
imports: [ BrowserModule ],providers: [ Logger ],declarations: [ AppComponent ],exports: [ AppComponent ],bootstrap: [ AppComponent ]
})
export class AppModule { }
通过引导根模块来启动应用: import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
platformBrowserDynamic().bootstrapModule(AppModule);
组件 Components组件是构成 Angular应用的基础和核心,可用于整个应用程序中。 创建Angular组件的方法:
模板 Templates<div> 网站地址 : {{site}} </div>
元数据 Metadata元数据告诉Angular 如何处理一个类。 @Component({
selector : 'mylist',template : '<h2>菜鸟教程</h2>'
directives : [ComponentDetails]
})
export class ListComponent{...}
在TypeScript中,使用装饰器(decorator)来附加元数据。 @Component 装饰器能接受一个配置对象,并把紧随其后的类标记成了组件类。 数据绑定插值 : 在 HTML 标签中显示组件值。 <h3> {{title}} <img src="{{ImageUrl}}"> </h3>
属性绑定: 把元素的属性设置为组件中属性的值。 <img [src]="userImageUrl">
事件绑定: 在组件方法名被点击时触发。 <button (click)="onSave()">保存</button>
双向绑: 使用Angular里的NgModel指令可以更便捷的进行双向绑定。 <input [value]="currentUser.firstName"
(input)="currentUser.firstName=$event.target.value" >
指令 Directives<li *ngFor="let site of sites"></li>
<site-detail *ngIf="selectedSite"></site-detail>
服务 Services示例:一个日志服务。 export class Logger {
log(msg: any) { console.log(msg); }
error(msg: any) { console.error(msg); }
warn(msg: any) { console.warn(msg); }
}
依赖注入Angular 能通过查看构造函数的参数类型,来得知组件需要哪些服务。 例如, SiteListComponent 组件的构造函数需要一个 SiteService: constructor(private service: HeroService) { }
当 Angular 创建组件时,会首先为组件所需的服务找一个注入器( Injector ) 。 注入器是一个维护服务实例的容器,存放着以前创建的实例。 如果容器中还没有所请求的服务实例,注入器就会创建一个服务实例,并且添加到容器中,然后把这个服务返回给 Angular 。 当所有的服务都被解析完并返回时, Angular 会以这些服务为参数去调用组件的构造函数。 这就是依赖注入 。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |