Angular 角度2块范围变量问题
我目前正在使用TypeScript运行Angular 2演示。有两个文件:作为模板导入的index.html文件和TypeScript文件。TypeScript文件编译成一个pomodoro timer.js,对于这个演示,所有类都包含在一个文件中: pomodoro定时器.ts 熟悉TypeScript的人知道我为什么会出现这些错误吗?我正在使用带有TypeScript插件的Atom IDE。1)首先,您有一个打字错误Angular 角度2块范围变量问题,angular,typescript,angular2-directives,angular2-decorators,Angular,Typescript,Angular2 Directives,Angular2 Decorators,我目前正在使用TypeScript运行Angular 2演示。有两个文件:作为模板导入的index.html文件和TypeScript文件。TypeScript文件编译成一个pomodoro timer.js,对于这个演示,所有类都包含在一个文件中: pomodoro定时器.ts 熟悉TypeScript的人知道我为什么会出现这些错误吗?我正在使用带有TypeScript插件的Atom IDE。1)首先,您有一个打字错误taskService,而不是taskService 2) 您不应该像这里那
taskService
,而不是taskService
2) 您不应该像这里那样实例化TasksService
constructor() {
const TasksService: TasksService = new TasksService();
this.tasks = taskService.taskStore;
this.today = new Date();
}
你应该把代码改成这样
constructor(private taskService:TasksService) {
this.tasks = this.taskService.taskStore;
this.today = new Date();
}
要了解有关依赖项注入和最佳实践的更多信息,请检查此链接,如果您像这样初始化对象
const TasksService: TasksService = new TasksService();
您将收到以下错误
Blocked-scoped variable 'TasksService' used before its declaration.
要解决此问题,请将变量的名称更改为其他名称,如
const TaskServ: TasksService = new TasksService();
注意:当您声明一个与类(对象)同名的变量时,通常会出现此错误
TasksService!==TaskService
我没有注意到这一点。我们的新演示使用了从Angular2API文档中获得的命名约定。谢谢非常感谢。虽然我不必为了让它工作而更改参数格式,但我们的演示似乎没有遵守构造函数(如类)和变量的大小写规则。再次感谢!
const TasksService: TasksService = new TasksService();
Blocked-scoped variable 'TasksService' used before its declaration.
const TaskServ: TasksService = new TasksService();