gpt4 book ai didi

typescript - 将服务注入(inject)组件

转载 作者:行者123 更新时间:2023-12-02 00:57:00 24 4
gpt4 key购买 nike

仅供引用:使用 angular2 (2.0.0-alpha.45) 和 TypeScript (1.6.2)

尝试创建一个简单的服务以注入(inject)组件。

我得到的错误:

Cannot resolve all parameters for {ComponentName}(?). Make sure they all have valid type or annotations.

自举:

bootstrap(App, [ROUTER_PROVIDERS, HTTP_PROVIDERS]);

服务(我的服务.ts):

import {Injectable} from 'angular2/angular2';
@Injectable()
export class MyService {
public doSomething() {}
}

消费组件:

import {Component} from 'angular2/angular2';
import {MyService} from './my-service';
export class ListManager{
constructor(private myService: MyService){
console.log('myService', myService);
}
}

Things I've tried

  • 在服务中:
    • 使用@Injectable标记/取消标记服务
  • 在引导过程中:
    • MyService 添加/删除到提供者的引导列表中
  • 在组件中
    • 将服务指定为提供者 @Component({providers: [MyService]})
    • 将服务指定为绑定(bind) @Component({bindings: [MyService]})

最佳答案

我想你会这样做:

constructor(private myService: MyService){
console.log('myService', myService);
}

您还必须在@Component 定义中将服务指定为提供者

@Component({
...
providers: [MyService]})

关于typescript - 将服务注入(inject)组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33614064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com