angular2+ 初理解

一、Angular Module

1、angular 模块是一个类,它需要NgModule这个装饰器函数接受一个原数据对象作为参数来描述这个模块类属性。

其中最重要的属性有:

declarations:声明当前模块的组件、指令和管道

exports:declarations的子集,可用于其他模块的组件模版

imports:当前模块声明的组件模板需要的类所在的其他模块

providers:服务的创建者,并加入到全局服务列表,可用于应用任何部分

bootstrap:指定应用的主视图也称为根组件,它是所有其他视图的宿主,只有根模块才能设置这个属性。

二、组件

负责控制视图

通过一些由属性和方法组成的API与视图交互

当用户在这个应用中漫游时,angular会创建、更新和销毁组件。应用可以通过生命周期钩子在组件生命周期的各个时间点插入自己的操作。如ngOnInit()

三、模版

模版由<div><h2>等这样的典型html元素以及*ngFor、 {{hero.name}}、 (click) 、[hero] 、<hero-detail></hero-detail>等angular模版语法自由组合

四、元数据

修饰类

总结:向代码中添加元数据,以便angular知道该怎么做

五、数据绑定

插值表达式:{{item.name}} <li>{{hero.name}}</li>

属性绑定:[hero] <hero-detail [hero]="selectedHero"></hero-detail>

事件绑定:(click)<li (click)="selectHero(hero)"></li>

双向绑定:([ngModel])=‘item.name’;ngModel指令组合了属性绑定和事件绑定功能  <input [(ngModel)]="hero.name">

六、指令

组件也是指令的一种

结构性指令(修改布局):*ngFor、*ngIf、ngSwitch...

属性型指令(修改DOM元素等):ngModel、ngStyle、ngClass

七、服务

angular的基础

组件是最大的服务消费者

相对来说,组件本身不从服务器获取数据、不进行验证输入,也不直接往控制台写日志,这些都应该委托给服务

使用原则:把应用逻辑拆分到服务,并通过依赖注入在组件中使用服务

八、依赖注入

依赖注入是提供类的新实例等一种方式,大多数依赖都是服务;

angular通过查看构造函数的参数类型得知组件需要哪些服务;

服务可以注册到根模块上,以便任何地方都使用服务的同一个实例,也可以注册到某个组件里,则表示该组件的每一个新实例都会有一个服务的新实例。

时间: 2024-10-03 02:33:14

angular2+ 初理解的相关文章

EventBus初理解

缘由: 平时工作,因为懒于动笔的原因,也没注重技术和经验的积累,导致之前曾经研究过的问题现在又忘记了,所以要慢慢注重积累,那么就从写作开始,谈谈对工作中碰到的问题进行整理和归纳. 我们都知道,在Android中,想处理事件传递,可以用Handler+MessageQueue+Message+Looper循环,固然是有解决方法,但是这个使用起来不方便,代码写起来也不简洁,同时还必须要理解好Handler+MessageQueue+Message+Looper之间的关系,比如这样的图: 是不是看到觉

JavaScript——面向对象初理解

JS事件驱动,基于对象的非编译性语言,所以首先来看看对象的创建问题. JS中对象的创建不像之前学过的语言使用class关键字,分为两大类,一般的创建方式和使用function关键字的.一般的方式每次相当于创建了了一个对象,如果想要创建类似的对象就会有大量的相似代码,这不符合面向对象,所以使用function相当于是使用class创建以一个类,可以通过类来实例化对象. 一般的创建对象的实例 //使用new Object()方法 var box=new Object();//创建一个对象,new可以

ASCII初理解

ASCII:美国标准信息交换码,是现今最通用的单字节编码系统.这里先简单的理解一下编码是什么意思.编码是信息从一种形式或格式幻化为另一种形式的过程.在这个过程中需要有一种转换约定.计算机中所有的数据再存储和运行的时候都是所有的信息都使用二进制数表示的(0,1),而具体是哪些二进制数据表示哪些符号,每个人都可以约定自己的一套,如果别人想读懂自己的数据,就需要知道自己的编码规则.而ASCII编码,就是一个标准化的编码规格,同一的规定了常用的符号要用哪些二进制来表示.就相当于,普通话和方言的关系.同一

Maximum Entropy Model(最大熵模型)初理解

1,简单概率知识理解 1.1 随机变量(random variable) 表示随机现象(在一定条件下,并不总是出现相同结果的现象称为随机现象)各种结果的实值函数(一切可能的样本点).如掷一颗骰子,它的所有可能结果是出现1点.2点.3点.4点.5点和6点 ,若定义X为掷一颗骰子时出现的点数,则X为一随机变量.随机变量   X∈{1,2,3,4,5,6}.

prototype和constructor之初理解

因为整理以前的笔记,发现了这两个东西,也算是我对他们最初的最幼稚的理解吧. 乍一回忆,prototype是为一个大的类增加行为用的,而这个行为实例们普遍都要用到:而constructor顾名思义是构造,构造函数? 先说说prototype,因为理解的很浅,感觉没啥好说的,直接上个例子: 1 function Person() { 2 this.age = 20; 3 this.name = 'hello world'; 4 } 5 6 Person.prototype.show = functi

设计初理解

设计,是"需求上升到机制"的过程和结果.不是针对一个需求,而是设计一种机制,容纳和集成一类相似需求.基于需求,超越需求. 设计需要在安静的环境里,反复剖析事物的内在结构和规律,洞悉事物之间的关联,然后用精炼的方式表达出来.设计是一门科学,为学必当严谨. 在电脑旁,人一般是执行者角色.耳之所听,目之所视,都是一种干扰.只有在远离电脑的时候,在冬日暖阳的微风拂面中,内心和头脑得到暂时的放松,人才会转变成设计者角色.设计是谋定而后动的事情. 事物内在结构:平铺.嵌套.镜像.迭代.弯曲.组合.

初理解Java中的BIO,NIO,AIO

初识: java 中的 BIO.NIO和 AIO 理解为是 Java 语言对操作系统的各种 IO 模型的封装.程序员在使用这些 API 的时候,不需要关心操作系统层面的知识,也不需要根据不同操作系统编写不同的代码.只需要使用Java的API就可以了. 在讲 BIO,NIO,AIO 之前先来回顾一下这样几个概念:同步与异步,阻塞与非阻塞. 同步与异步: 同步: 同步就是发起一个调用后,被调用者未处理完请求之前,调用不返回. 异步: 异步就是发起一个调用后,立刻得到被调用者的回应表示已接收到请求,但

JavaScript——初理解闭包及作用

js是一个函数级语言,变量的作用域是: 内部可以访问内部,内部可以访问外部,外部不能访问内部. 如果要在外部,访问函数内部的变量,就要用到闭包.闭包就是指访问到了本不该访问的变量. 闭包作用1:实现封装 先来看一个关于封装的例子,在person之外的地方无法访问其内部的变量,而通过提供闭包的形式来访问: 1 var person = function(){ 2 //变量作用域为函数内部,外部无法访问 3 var name = "default"; 4 5 return { 6 getN

小白初理解树状数组

ACM的在线测试里经常涉及到大量数据的的修改,求和等操作,这里介绍一种方法——树状数组. 树状数组,是一个查询和修改复杂度都为log(n)的数据结构.主要用于查询任意两位之间的所有元素之和,但是每次只能修改一个元素的值:经过简单修改可以在log(n)的复杂度下进行范围修改,但是这时只能查询其中一个元素的值.可以用一张图来弄懂什么是数组数组. 原数组A[n],树状数组C[n]; 如果n为奇数:Cn=An; 如果n为偶数:Cn = A(n – 2^k + 1) + ... + An,k为n的二进制数