2016-03-27 13 views
0

Böyle bir yazı sınıfım var;Benzer modül adlarıyla dosyalara başvuru yaparken karşılaşılan hata kodları

module my.services { 
    export class MyService { 
     ... 
    } 
} 

Ve bunun gibi bir başka;

module com.my.component { 

    import MyService = my.services.MyService; 

    export class MyComponent { 
     ... 
    } 
} 

Ama 2 sınıfta

Ben

Module 'com.my' has no exported member 'services' 

bu durumda MyService belirtmek için doğru yolu nedir söyleyerek daktilo hatası alıyorum?

cevap

0

Eğer 'A.B.C' gibi ad alanlarıyla ilgili belirtimin ne yazdığına bir göz atabilirsek: namespace declarations neden hata yaptığını görmek kolaydır. Sizin 'com.my.component' ad alanı bildirimi etkin bir geçerli:

namespace com 
{ 
    export namespace my 
    { 
     export namespace component 
     { 
      import MyService = my.services.MyService; 

      export class MyComponent extends MyService 
      { 

      } 
     } 
    } 
} 

Ve bu nedenle başlayarak 'benim' beyanında içindeki herhangi bir şeye başvurmak için herhangi bir girişimde 'benim ....' 'akım içinde bunlar aramak için çalışacaktır com.my 'ad alanı.

dışında ithalat taşıyabilirsiniz Bunu düzeltmek için 'benim' ad alanı bildirimi:

import MyService = my.services.MyService; 

namespace com 
{ 
    export namespace my 
    { 
     export namespace component 
     { 
      export class MyComponent extends MyService 
      { 

      } 
     } 
    } 
} 

Veya daha kısa sürümde:

import MyService = my.services.MyService; 

module com.my.component 
{ 
    export class MyComponent extends MyService 
    { 

    } 
} 
İlgili konular