【发布时间】:2018-10-22 18:35:11
【问题描述】:
我刚刚开始学习 Angular 的基础教程,但我遇到了一个小的编译问题。
我正在关注 Angular 网站上的教程。我被依赖注入部分卡住了,因为它不想编译。
在教程中,他们要求创建一个服务:
ng generate service hero
在这个生成的服务中,你有一个这样的装饰器:
@Injectable()
然后他们要求像这样向该装饰器添加一个参数:
@Injectable({
providedIn: 'root'
})
当我尝试这样做时,我有一个 TypeScript 错误告诉我:
错误 TS2554:预期 0 个参数,但得到 1 个。 我使用的版本是那些:
Angular CLI: 1.7.4
Node: 9.5.0
OS: win32 x64
Angular: 5.2.10
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router
@angular/cli: 1.7.4
@angular-devkit/build-optimizer: 0.3.2
@angular-devkit/core: 0.3.2
@angular-devkit/schematics: 0.3.2
@ngtools/json-schema: 1.2.0
@ngtools/webpack: 1.10.2
@schematics/angular: 0.3.2
@schematics/package-update: 0.3.2
typescript: 2.5.3
webpack: 3.11.0
知道为什么它不接受参数吗?
提前致谢!
【问题讨论】:
-
你指的教程必须是Angular 6的。@Injectable中的参数支持是最近引入的。
-
如果您想继续使用该教程并继续使用 Angular 5,请将文档版本从 stable (6.0.1) 更改为 v5 在左侧导航底部的下拉菜单中(就在 API 下方)。
-
好吧!非常感谢大家:)
标签: angular typescript angular-cli