今天完成的事情:任务进行中,学习了 TypeScript 的知识及编码方式;
明天计划的事情:完成获取服务端的登录数据;
遇到的问题:任务进度卡壳,获取登录数据的知识没搞懂;创建配置文件:proxy.config.json 没搞出来
收获:
使用 HttpClient
,就要先导入 Angular 的 HttpClientModule
。在根模块 AppModule
中导入它,如下:app/app.module.ts (excerpt)
import { HttpClientModule } from '@angular/common/http';
imports: [
BrowserModule,
HttpClientModule,
]
把 HttpClient
服务注入成一个应用类的依赖项 : app/config/config.service.ts (excerpt)
import { HttpClient } from '@angular/common/http';
@Injectable()
export class ConfigService {
constructor(private http: HttpClient) { }
}
TS 知识点的测试 及写法:
基本类型: (基本与JS一样,新增了几个类型。编码写法不同)
任意类型: any;声明为 any 的变量可以赋予下面的任意类型的值。
数字类型:number;用来表示整数和分数
字符串类型:string;一个字符系列,使用单引号(')或双引号(")来表示字符串类型。反引号(`)来定义多行文本和内嵌表达式。
布尔类型:Boolean;表示逻辑值:true 和 false。
let flag: boolean = true;
数组类型 : 声明变量为数组。
// 在元素类型后面加上[]
let arr: number[] = [1, 2];
// 或者使用数组泛型
let arr: Array<number> = [1, 2];
元祖 : 元组类型用来表示已知元素数量和类型的数组,各元素的类型不必相同,对应位置的类型需要相同。
let x: [string, number];
x = ['Runoob', 1]; // 运行正常
x = [1, 'Runoob']; // 报错
console.log(x[0]); // 输出 Runoob
枚举:enum ; 枚举类型用于定义数值集合。
let x: [string, number];
x = ['Runoob', 1]; // 运行正常
x = [1, 'Runoob']; // 报错
console.log(x[0]); // 输出 Runoob
null:表示对象值缺失。
never: 用于初始化变量为一个未定义的值
undefined:never 是其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值。
// Ts 函数定义
const getValue = () => {
return 1
}
enum List {
A = getValue(),
B = 2, // 此处必须要初始化值,不然编译不通过
C
}
console.log(List.A) // 0
console.log(List.B) // 2
console.log(List.C) // 3
//for循环
var num: number = 5;
var i: number;
var factorial = 1;
for (i = num; i >= 1; i--) { // 循环至i < 1 ;
factorial *= i;
}
console.log(factorial); // 120
//for...in循环
var j:any;
var n:any = "a b c"
for(j in n) {
console.log(n[j])
}
// a
b
c
// 函数定义
function greet() {
return "Hello World";
}
function caller() {
var msg = greet(); // 调用 greet() 函数
console.log(msg);
}
// 调用函数
caller();
评论