Açısal Sağlayıcılarınızın Yanlış Enjektörde Bitmesini Nasıl Önlersiniz?

May 03 2023
Angular'da, basit işlevleri kullanarak bağımlılık enjeksiyon sağlayıcılarını kaydetmek yaygın bir uygulamadır. Ancak, bu tür işlevleri oluştururken kullanım amaçlarını göz önünde bulundurmak önemlidir.

Angular'da, basit işlevleri kullanarak bağımlılık enjeksiyon sağlayıcılarını kaydetmek yaygın bir uygulamadır. Ancak, bu tür işlevleri oluştururken kullanım amaçlarını göz önünde bulundurmak önemlidir.

Örneğin, Angular, , gibi çeşitli işlevler sağlar provideHttpClient()ve provideRouter()bu withDomHydration(), sağlayıcıları kaputun altına kaydeder. Bu işlevler , bir bileşen veya yönerge enjektörü yerine bir ortam enjektöründe kullanılmak üzere tasarlanmıştır .

provideSvgIconsConfig()SVG simgeleri yapılandırması için bir sağlayıcıyı kaydeden böyle bir işlev oluşturduğunuzu varsayalım . Bu işlevi bir bileşende veya yönerge enjektöründe kullanırsanız herhangi bir hata görmezsiniz. Ancak bu, beklenmeyen davranışlara veya hatta hatalara yol açabilir.

export function provideSvgIconsConfig(config: Partial<SVG_CONFIG>) {
  return {
    provide: SVG_ICONS_CONFIG,
    useValue: config,
  };
}

      
                
No Error

provideSvgIconsConfigBunu göstermek için, using öğesinin güncellenmiş uygulamasını göz önünde bulundurun makeEnvironmentProviders:

import { makeEnvironmentProviders } from '@angular/core';

export function provideSvgIconsConfig(config: Partial<SVG_CONFIG>) {
  return makeEnvironmentProviders([
    {
      provide: SVG_ICONS_CONFIG,
      useValue: config,
    },
  ]);
}

Angular ve JS hakkında daha fazlasını okumak için Medium veya Twitter'da beni takip edin !