2016-03-31 20 views
2

TypeScript kullanarak bir değer tanımlamak için aşağıdaki biçimi kullandım, ancak "uygun" bir yol olup olmadığından emin değilim.TypeScript ile bir .value tanımlamanın doğru yolu

module app.global { 
    "use strict"; 
    export class GlobalInfo { 
     userId: string; 
     environment: string; 
    } 
    angular.module("bulkAddMemos") 
     .value("GlobalInfo", GlobalInfo); 
} 

Bu iyi çalışıyor - Denetleyicilere ve hizmetlerime enjekte edebilir ve bu değerler için paylaşılan depolama alanı olarak kullanabilirim. Bunu yapabileceğini bu nesne özelliklerinin biri için varsayılan bir değer beyan etmek istiyorsa typescript olmadan:

angular.module("bulkAddMemos") 
    .value("GlobalInfo", { userId: "", environment: "TEST" }); 

Ben typescript ile aynı şeyi denedik ama yaklaşımların hiçbiri aşağıda çalıştı. environment özelliğine erişmeye çalıştığımda her zaman undefined.

Denemesi 1

module app.global { 
    "use strict"; 
    export class GlobalInfo { 
     userId: string; 
     environment: "TEST"; 
    } 
    angular.module("bulkAddMemos") 
     .value("GlobalInfo", GlobalInfo); 
} 

Denemesi 2

module app.global { 
    "use strict"; 
    export class GlobalInfo { 
     userId: string; 
     environment: string; 
     constructor(){ 
      this.environment = "TEST"; 
     } 
    } 
    angular.module("bulkAddMemos") 
     .value("GlobalInfo", GlobalInfo); 
} 

herkesin özelliklerinin varsayılan değerlerini ayarlamak için olanak verecek şekilde bir .value kullanarak typescript nasıl tanımlanacağı biliyor mu? Bunu başlatabileceğimi ve uygulama başladığında varsayılan bir değer ayarlayabileceğimi biliyorum, ancak buna başvurmadan bunu nasıl yapacağımı öğrenmek isterim. bir nesne olması değeri için örneği; böylece

cevap

1

Bu

module app.global { 
    "use strict"; 
    export class GlobalInfo { 
     userId: string; 
     environment: "TEST"; 
    } 
    angular.module("bulkAddMemos") 
     .value("GlobalInfo", new GlobalInfo); 
} 

GlobalInfo sınıfı (diğer bir deyişle typeof GlobalInfo === 'function') olduğu olmalıdır.

+0

Teşekkür ederiz! Bazı küçük ayrıntıları kaçırdığımı biliyordum, ancak "açısal kod çizelgesi değeri" için bir Google araması yapmayı denedim. :) – Lex

İlgili konular