Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

136
Views
Angular 2 OpaqueToken frente a Angular 4 InjectionToken

InjectionToken se introdujo en Angular 4 y OpaqueToken se marcó como obsoleto.

Según el manual , se supone que debe usarse como

 const anyToken = new InjectionToken('any');

para token sin tipo, y como

 const numberToken = new InjectionToken<number>('number');

para el token escrito.

Sin embargo, el token escrito aún se puede inyectar y usar con un tipo diferente cuando se inyecta, TypeScript estará bien con esto, ¿no?

 constructor(@Inject(numberToken) any, @Inject(numberToken) string: string) { ... }

¿Cómo se supone que InjectionToken se beneficiará del sistema de tipo TypeScript?

¿Por qué OpaqueToken quedó en desuso si no hay una diferencia práctica entre esos dos?

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Basado en el uso interno de InjectionToken , por ejemplo, aquí , asumo que InjectionToken le brinda el beneficio de verificación de tipos cuando obtiene una dependencia a través de la instancia del injector :

 import {Component, InjectionToken, Injector} from "@angular/core"; interface AppConfig { name: string; } let APP_CONFIG = new InjectionToken<AppConfig>('app.config'); let appConfig: AppConfig = {name: 'Cfg'}; @Component({ ... providers: [{provide: APP_CONFIG, useValue: appConfig}] }) export class TestComponent { constructor(injector: Injector) { const config = injector.get(APP_CONFIG); config.s = 'd'; ^^^^^ - Error:(14, 16) TS2339:Property 's' does not exist on type 'AppConfig'. } }
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!