如何将服务注入 angular 中的常量
How to inject a service into a constant in angular
我正在尝试在 angular 中导出常量,我需要设置一个键,其值将从服务返回。我尝试使用以下代码:
这是我的用户-config.ts 文件:
export const USER_CONFIG = {
username: new UserService().getUsername()
}
这是我想要注入的 UserService 文件:
export class UserService{
constructor(someOtherService: SomeOtherService)
getUsername() {
return this.someOtherService.getDetails('some/url')
}
}
我无法解决这个问题。
需要帮助。
试试这个。您必须通过服务实例
const va = (userService : UserService) => {
return {
username : userService.getUsername()
}
}
export const eV = va(userService)
Angular 中的常量可以使用 InjectionToken:
构造
export const USER_CONFIG = new InjectionToken('User Configuration', {
factory: () => {
return {
// You can inject the UserService to get the username
username: inject(UserService).getUsername()
}
}
});
由于常量是一个注入令牌,它可以注入到您应用程序的其他部分:
export class AppComponent {
constructor(@Inject(USER_CONFIG) config) {
console.log(config.username)
}
}
我正在尝试在 angular 中导出常量,我需要设置一个键,其值将从服务返回。我尝试使用以下代码:
这是我的用户-config.ts 文件:
export const USER_CONFIG = {
username: new UserService().getUsername()
}
这是我想要注入的 UserService 文件:
export class UserService{
constructor(someOtherService: SomeOtherService)
getUsername() {
return this.someOtherService.getDetails('some/url')
}
}
我无法解决这个问题。 需要帮助。
试试这个。您必须通过服务实例
const va = (userService : UserService) => {
return {
username : userService.getUsername()
}
}
export const eV = va(userService)
Angular 中的常量可以使用 InjectionToken:
构造export const USER_CONFIG = new InjectionToken('User Configuration', {
factory: () => {
return {
// You can inject the UserService to get the username
username: inject(UserService).getUsername()
}
}
});
由于常量是一个注入令牌,它可以注入到您应用程序的其他部分:
export class AppComponent {
constructor(@Inject(USER_CONFIG) config) {
console.log(config.username)
}
}