发表于: 2017-06-28 23:27:05

1 911


今天完成的事情:


完成了小课堂PPT


看了一下什么是JWT

Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。


在Web应用中,要展示的数据都是从后台服务器动态获取的,要使用服务的依赖注入。使用了User类来创建数据,然后把创建的数据导出。

import {Injectable} from '@angular/core';
import {Users} from "../mock/user-data.mock";

@Injectable()
export class UserService {
getUsers() {
return Users;
}
}

从@angular/core中导出了Injectable,就像导出Component一样;@Injectable()标志着一个类可以被一个注入器实例化;通常来讲,在试图实例化一个没有被标识为@Injectable()的类时候,注入器将会报告错误。


在AppComponent组件中使用UserService,需要注意的地方是:要在@Component的元数据中使用providers声明所需要的依赖,还要引入User类来帮助声明数据的类型。

import {UserService} from "./services/user.service";
import {User} from "./classes/User";
//...
@Component({
selector: 'my-app',
templateUrl: 'app/templates/app.html',
providers: [
UserService
]
})
export class AppComponent {
users: User[];

constructor(private userService: UserService) {
this.users = userService.getUsers();
}
}

使用providers: [UserService]来声明这个组件的依赖,如果没有这个选项,程序会报错;然后给这个类添加一个属性users,同时声明这个属性的类型是一个含有User类实例的数组;  最后在构造函数中又声明了一个私有的属性userService,它是UserService服务类的一个实例,可以用这个实例来获取users数据。


如果把user.service.ts的@Injectable注释掉的话,整个程序是没有报错的,为每个服务类都添加@Injectable(),包括那些没有依赖所以技术上不需要它。因为:

1.面向未来,没有必要记得在后来添加了一个依赖的时候添加@Injectable()。

2.一致性,所有的服务都遵循同样的规则


明天计划的事情:

继续理解


问题:

内容很多

constructor构造器啊private ***:***

使用@Optional标记@Optional()private ***: ***

不好理解


收获:

如上



返回列表 返回列表
评论

    分享到