Angular 2 / Typescript'te global bir değişkeni nasıl bildirebilirim?
Bazı değişkenlerin Typescript
dilinde bir Angular 2
içinde her yerden erişilebilir olmasını istiyorum. Bunu başarmak için nasıl bir yol izlemeliyim?
158
3
İşte
Service
veyaObserver
olmadan en basit çözüm:Global değişkenleri bir dosyaya koyun ve dışa aktarın.
Globalleri başka bir dosyada kullanmak için
import
deyimini kullanın:import * as myGlobals from './globals';
Örnek:
Paylaşılan bir hizmet en iyi yaklaşımdır
Ancak tüm uygulamanız için tek bir örneği paylaşabilmek için bunu kaydederken çok dikkatli olmanız gerekir. Uygulamanızı kaydederken bunu tanımlamanız gerekir:
ancak bileşenlerinizin
providers
nitelikleri içinde tekrar tanımlamayın:Aksi takdirde, bileşen ve alt bileşenleri için hizmetinizin yeni bir örneği oluşturulacaktır.
Angular2'de bağımlılık enjeksiyonu ve hiyerarşik enjektörlerin nasıl çalıştığına ilişkin bu soruya göz atabilirsiniz:
Global özellikleriniz değiştiğinde uygulamanızın bölümlerini bilgilendirmek için serviste
Observable
özellikleri de tanımlayabileceğinizi fark edebilirsiniz:Daha fazla ayrıntı için bu soruya bakın:
Örneğin bkz. https://stackoverflow.com/questions/35993778/angular-2-implementation-of-shared-services
veya bireysel değerler sağlayın