gpt4 book ai didi

dependency-injection - Angular2 - 将单例服务注入(inject)指令

转载 作者:行者123 更新时间:2023-12-04 17:59:03 25 4
gpt4 key购买 nike

我在将单例服务注入(inject)指令时遇到问题。我有服务:

@Injectable()
export class AuthService{ ... }

我把它放到 Bootstrap 中。

bootstrap(AppComponent, [AuthService, ...]);

我制定了保护我的组件的指令:

@Directive({
selector: '[protected]'
})
export class ProtectedDirective {
constructor(private authService:AuthService) { ... }
}

...并添加到组件之一

@Component({
selector: 'dashboard',
directives: [ProtectedDirective],
template: '<div protected></div',
})
export class DashboardCmp { }

在控制台中我看到一个错误:

ORIGINAL EXCEPTION: No provider for AuthService!

如果我向 DashboardCmp 添加提供程序,一切正常,但它不是单例服务。我在其他组件中设置了它的属性,但在执行指令时看不到它们。

最佳答案

我解决了我的问题。一切都很好,但是

import {AuthService} from '../services/auth.service'; (in protected.directive.ts)

不等于

import {AuthService} from '../Services/auth.service'; ( in main.ts)

是的,这很愚蠢,但它使依赖注入(inject)变得不可能。

关于dependency-injection - Angular2 - 将单例服务注入(inject)指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37768771/

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