Kim*_* BF 4 typescript angular
我正在发现Angular2,我在互联网上找到了一个快速启动项目,以了解结构.我有另外三个文件夹:组件,服务和模型.我理解什么是组件,因为我理解服务是单身,我想要保留我的数据.
问题是我在services文件夹中有这个文件:
import {Injectable} from "@angular/core";
import {Task} from "../models/task";
@Injectable()
export class TaskService {
private tasks:Array<Task> = [
new Task("Task 1", false),
new Task("Task 2", false),
new Task("Task 3", false),
];
getTasks():Array<Task> {
return this.tasks;
}
addTask(name:string) {
this.tasks.push(new Task(name, false));
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个里面的模型文件夹:
export class Task {
constructor(public name:string, public done:boolean) {
}
toggleDone() {
this.done = !this.done;
}
}
Run Code Online (Sandbox Code Playgroud)
但我不确定为什么Task被视为模型而TaskService被视为服务.是因为我可以拥有多个任务实例吗?如果是这样,那么我可以有多个TaskService实例而不是单例吗?如果没有,编译器如何知道它何时是服务以及何时是模型?因为后缀?
谢谢.
小智 6
我们注册了一个注射类,我们不必实例化它!
我们将它注册为应用程序模块中的提供者,将其注册为我们组件中的提供者,并且嘿,你将获得注入,直接魔术,感谢Angular,你的数据boi.
更重要的是,现在我们的组件甚至不需要知道任何有关Task类的信息 - 它已经包含在我们的Injectable服务中.
| 归档时间: |
|
| 查看次数: |
4850 次 |
| 最近记录: |