2
我在將singleton服務注入指令時遇到問題。 我有服務:Angular2 - 將singleton服務注入指令
@Injectable()
export class AuthService{ ... }
我把它放入引導程序。
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!
如果我向Dashbo添加提供程序ardCmp,一切正常,但它不是一個單身服務。我在其他組件中設置了它的屬性,並且當我處於指令狀態時我沒有看到它們。