Ich bin mit anderen Entwicklern an einem Projekt arbeiten, Aurelia,Gibt es irgendwelche Nachteile der Verwendung von JavaScript anstelle einer Kontextvariablen?
einige von ihnen verwenden diese. und einige deklarieren eine Kontextvariable
Was ich mich wundere, ist, wenn es irgendwelche Leistungsunterschiede, Speicherzuweisung oder einen Standard der Verwendung von Javascript für die Verwendung gibt.
Beispiel mit Dieses:
activate() {
this.isLoading = true;
this.modeText = "Edit";
this.service.getX(this.appState.StoreId,this.variableX).then(response => {
let stuff = JSON.parse(response.response);
this.widget = stuff;
this.isLoading = false;
});
}
Beispiel, ohne dass dies:
activate() {
var context = this;
context.isLoading = true;
context.modeText = "Edit";
context.service.getX(context.appState.StoreId,context.variableX).then(response => {
let stuff = JSON.parse(response.response);
context.widget = stuff;
context.isLoading = false;
});
}
Beide sind jedoch etwas anders. 'context' ist immer gleich, jedoch ist' this' im ersten Beispiel innerhalb der '.then'-Funktion anders. Ich stelle mir vor, sie definieren 'context', so dass sie' apply() 'oder' call() 'nicht verwenden müssen –
@MattLishman: Das ist wahr, wenn sie' function() {} 'im' .then 'Funktion, aber da sie Pfeilfunktionen verwenden (die' this' an ihren lexikalischen Umfang binden), wird es das gleiche sein. Ich denke, mit diesen speziellen Beispielen gibt es keinen wirklichen Unterschied in der Funktionalität. Ihre Argumentation ist jedoch richtig, im Allgemeinen, wenn ich eine 'context'-Variable gesehen habe, so ist es so, dass der richtige 'this'-Wert in einem Callback abgerufen werden kann. –
Entschuldigung, verpasste das. Das '=>' war etwas von meinem Bildschirm. Ignorier mich. –