2017-02-08 3 views
-1

Ich versuche, die Namespaces und Module in Typoskript zu verstehen. Bitte beachten Sie den Beispielcodetypescript - Name Eror nicht gefunden, während Namespace in Typoskript

namespace ModuleOne.ModuleTwo.ModuleThree{ 
     export class SomeClass{ 
      constructor(){}; 
      someVariableOne:any; 
      someVariableTwo:any; 
      someFunction= function(){someFunctionCode}; 
     }; 
} 

Aber während dieser mit Someclass.

ModuleOne.ModuleTwo.ModuleThree.SomeClass.someFunction(); 

Ich erhalte diesen Fehler als

Cannot find name 'ModuleOne' 

Bitte lassen Sie mich wissen, wenn ich etwas zu tun, bin falsch, oder es ist ein anderer Ansatz, den ich folgen müssen.

Dank

Antwort

1

Ihr Code hat einen anderen Fehler:

Property 'someFunction' does not exist on type 'typeof SomeClass'

(your code in playground)

Der Grund dafür ist, dass someFunction eine Eigenschaft der Klasseninstanz ist, und nicht eine statische Methode.
Es soll:

let instance = new ModuleOne.ModuleTwo.ModuleThree.SomeClass(); 
instance.someFunction(); 

Oder wenn Sie eine statische Methode wollen:

namespace ModuleOne.ModuleTwo.ModuleThree{ 
     export class SomeClass{ 
      static someFunction() { } 

      constructor(){}; 
      someVariableOne:any; 
      someVariableTwo:any; 
     }; 
} 
+0

Dies ist nicht der Fehler, die ich erhalte, habe ich versucht, es selbst in Spielplatz, habe mich nicht Error. Ich verwende VS-Code. Aber den Fehler zu haben, kann den Namen nicht finden. –

+0

Nun, der Playground-Link in meiner Antwort hat einen Kompilierungsfehler. Es sei denn, der Code in Ihrer Frage ist nicht der Code, den Sie zu kompilieren versuchen. Welche Version von Typoskript verwenden Sie? –

Verwandte Themen