2017-06-10 2 views
2

Innerhalb der Datei ts, Warum verwenden wir das Schlüsselwort "function" nicht in eckigen Komponenten?

export class ComponentName{ 
    methodName (para1,para2) { 
    //code here 
    } 
} 

dies korrekt ist, aber wenn ich die Keyword-Funktion der Methode hinzufügen, wird der Code nicht kompilieren und Fehler geben sagen, es ist, Konstrukteure und Eigenschaften nur Methoden, Accessoren erwartet .

+0

Weil es keine Funktion, es ist eine Methode. Der selbe Grund, warum du in einer Klasse nicht "lassen" oder "konstieren" kannst. – jonrsharpe

Antwort

2

Ich denke, Sie Probleme haben, ECMAScript Verständnis 6. Angular verwendet Typoskript, die auf ECMAScript basiert 6.

Traditionelle JavaScript Funktionen verwendet und Prototyp-basierte Vererbung wiederverwendbare Komponenten aufzubauen, aber dies kann fühlen sich ein wenig peinlich zu Programmierer komfortabler mit einem "objektorientierten Ansatz", wo Klassen Funktionalität erben und Objekte aus diesen Klassen gebaut werden. Beginnend mit ECMAScript 2015, auch bekannt als ECMAScript 6, können JavaScript-Programmierer ihre Anwendungen unter Verwendung dieser objektorientierten klassenbasierten Ansatz erstellen. In TypeScript erlauben wir Entwicklern, diese Techniken jetzt zu verwenden, und kompilieren sie bis JavaScript, das über alle gängigen Browser und Plattformen funktioniert, ohne dass auf die nächste Version von JavaScript warten muss.

...

class Greeter { 
    greeting: string; 
    constructor(message: string) { 
     this.greeting = message; 
    } 
    greet() { 
     return "Hello, " + this.greeting; 
    } 
} 

let greeter = new Greeter("world"); 

Die Syntax sollte vertraut aussehen, wenn Sie vor C# oder Java verwendet haben. Wir deklarieren eine neue Klasse Greeter. Diese Klasse hat drei Mitglieder: eine Eigenschaft namens Begrüßung, einen Konstruktor und eine Methodenbegrüßung.

[Source]

Verwandte Themen