Ich habe versucht, es überall zu durchsuchen, sogar in der Angular.org- Dokumentation, konnte aber bei der Implementierung keine detaillierte Erklärung finden. Es wäre sehr hilfreich, wenn jemand es erklären könnte.
javascript
angularjs
Hart
quelle
quelle
Antworten:
angle.noop ist eine leere Funktion, die als Platzhalter verwendet werden kann, wenn Sie eine Funktion als Parameter übergeben müssen.
quelle
noop
anstatt nur die Funktion leer zu lassen? Ästhetik, Leistung oder etwas anderes?angular.noop
da Sie immer dieselbe leere Funktion wiederverwenden (anstatt jedes Mal eine neue anonyme Funktion zu deklarieren). In Bezug auf die Leistung macht es keinen Unterschied, da der Code fürangular.noop
nur eine leere Funktion mit dem Namen istnoop
.Ich finde es äußerst hilfreich, wenn ich eine Funktion schreibe, die einen Rückruf erwartet.
Beispiel:
Die obige Funktion gibt einen Fehler zurück, wenn sie aufgerufen wird, ohne das dritte Argument anzugeben.
myFunction(1, 'a');
Beispiel (mit
angular.noop
):quelle
typeof callback === 'function' && callback();
. Viel edler ^^. Nicht verwendenangular.noop
.Es ist eine Funktion, die keine Operationen ausführt. Dies ist in folgenden Situationen nützlich:
Dies ist nützlich, wenn Sie Code im funktionalen Stil schreiben
quelle
//do nothing on the success callback, hence replacing the success callbck function with angular.noop()
Möglicherweise hilft dieses Beispiel: - $ scope.contacts = Contacts.query (angle.noop, Funktion (Antwort) {Window.myresp = Antwort; $ scope.displayError (Antwort); console.log ("böser Junge, listContacts fehlgeschlagen ");});* Diese Antwort setzt voraus, dass Sie kein Anfänger im Winkel sind
Angular.noop ist eine leere Funktion, die in einigen Fällen als Platzhalter verwendet werden kann
beispielsweise:
Stellen Sie sich vor, Sie verwenden q.all, die mehrere Anrufe an die API tätigen und ein Versprechen zurückgeben. Wenn einige dieser Anrufe fehlschlagen, Sie aber immer noch diejenigen behandeln müssen, die nicht fehlgeschlagen sind, verwenden Sie Angular Noop als Rückruf für die API-Anrufe, wenn Sie die Anrufe abfangen. Wenn Sie kein eckiges Noop verwenden, lehnt q.all alles ab, wenn ein Anruf fehlschlägt.
Q.all (somecall.catch (angle.noop), anothercall) .then (Ergebnis [0] und Ergebnis [1] auflösen)
Wenn ein Anruf fehlschlägt, ignoriert Angular dies und führt einen weiteren Anruf durch (aber Sie werden für das erste aufgelöste Ergebnis immer noch undefiniert sein).
Ich hoffe, dass ich geholfen habe
quelle
Es ist der kürzeste Weg
Unter Berücksichtigung, dass Rückruf var eine Funktion sein wird
quelle
Wenn Sie offizielle Dokumentation wünschen, ist hier der Link . Es ist ziemlich einfach. Ich habe auch die aktuelle Dokumentation von Link eingefügt.
Eine Funktion, die keine Operationen ausführt. Diese Funktion kann nützlich sein, wenn Sie Code im Funktionsstil schreiben.
quelle
Trick: Sie können es auch verwenden, um einem
ng-click
Attribut einen Ternär hinzuzufügen :Bis ich herausgefunden habe, dass Sie ng-click = "variable && doSomething ()" `verwenden können
quelle
ng-click="(variable) ? doSomething() : true"
würde auch funktionieren