TypeScript:
TypeScript变量声明:let和const是JavaScript里相对较新的变量声明方式,const是对let的一个增强,它能阻止对一个变量再次赋值。
var作用域或函数作用域
let是词法作用域或块作用域
使用var声明时,它不在乎你声明多少次;你只会得到1个
Angular2:
1、组件:
组件是 Angular 应用中的基本构造块。 它们在屏幕上显示数据,监听用户输入,并且根据这些输入执行相应的动作。
组件不应该直接获取或保存数据,它们不应该了解是否在展示假数据。 它们应该聚焦于展示数据,而把数据访问的职责委托给某个服务。
1、{{hero.name | uppercase}} 绑定表达式中的 uppercase 位于管道操作符( | )的右边,用来调用内置管道 UppercasePipe。
2、[(ngModel)] 是 Angular 的双向数据绑定语法。它属于一个可选模块 FormsModule,你必须自行添加此模块才能使用该指令。
3、Angular 需要知道如何把应用程序的各个部分组合到一起,以及该应用需要哪些其它文件和库。 这些信息被称为元数据(metadata)。
4、*ngFor 是一个 Angular 的复写器(repeater)指令。 它会为列表中的每项数据复写它的宿主元素。
5、@Injectable() 装饰器会接受该服务的元数据对象,就像 @Component() 对组件类的作用一样。
6、让构造函数保持简单,只做初始化操作,比如把构造函数的参数赋值给属性。 构造函数不应该做任何事。 它当然不应该调用某个函数来向远端服务(比如真实的数据服务)发起 HTTP 请求。
7、 Angular HttpClient 的方法会返回 RxJS 的 Observable
8、Observable.subscribe() 异步操作
9、Angular 只会绑定到组件的公共属性。
10、*ngIf 只有在有消息时才会显示消息区。
11、在 Angular 中,最好在一个独立的*模块中加载和配置路由器。
12、使用 RouterModule 中的 Routes 类来配置路由器。
13、典型的 Angular 路由(Route)有两个属性:
path:一个用于匹配浏览器地址栏中 URL 的字符串。
component:当导航到此路由时,路由器应该创建哪个组件。
14、RouterModule.forRoot() 在应用的*配置这个路由器。 forRoot() 方法会提供路由所需的服务提供商和指令,还会基于浏览器的当前 URL 执行首次导航。
15、路由出口 (RouterOutlet)。
16、routerLink 是 RouterLink 指令的选择器,它会把用户的点击转换为路由器的导航操作。
17、location 是一个 Angular 的服务,用来与浏览器打交道。
18、从路由信息中获取id: const id = +this.route.snapshot.paramMap.get('id');
JavaScript 的 (+) 操作符会把字符串转换成数字。
route.snapshot 是一个路由信息的静态快照,抓取自组件刚刚创建完毕之后。
paramMap 是一个从 URL 中提取的路由参数值的字典。
19、反引号 ( ` ) 用于定义 JavaScript 的 模板字符串字面量。