Die calculate()
eine private Funktion ist - es ist im Rahmen von CartController
nur zugänglich. Wenn Sie Ihre Funktion nicht in der Ansicht verwenden müssen, sollten Sie sie privat machen. Es sagt, dass es ist nicht beabsichtigt, in der Ansicht verwendet werden, wenn jemand anderes mit diesem Code arbeiten wird, sollte zweimal überlegen, bevor Sie es in der Ansicht verwenden. Außerdem: Von calculate
haben Sie Zugriff auf alle Objekte, auf die im Rahmen der CartController
zugegriffen werden kann (einschließlich Objekte, die als Parameter an CartController
übergeben werden).
Funktion auf diese Weise deklariert ist eine ordnungsgemäße JS function
, was bedeutet, dass Sie Verweis auf es durch seinen Namen erhalten können. Manchmal ist es gedacht, um besser lesbar, wenn Sie deklarieren/erstellen Sie Ihre Funktion im Voraus und nur dann ordnen sie Eigenschaften eines anderen Objekts (in diesem Fall $scope
):
function someFn (...) { ... }
function someOtherFn (...) { ... }
...
$scope.someFn = someFn
In dem obigen Schnipsel die Absichten sehr sind clear: make someFn
zugänglich, während someOtherFn
privat halten.
Btw. deklarierende Funktionen wie: function nameFn(...){...}
heißt Funktionsanweisung; Sie können es sehr ähnlich tun: var nameFn = function(...) {...}
(so genannte Funktion Ausdruck). Es gibt einen kleinen Unterschied zwischen denen - im Grunde ist es illegal:
someFn();
var someFn = function(...) {...}
während dies funktioniert:
someFn();
function someFn(...) {...}
Manchmal sind Sie gezwungen, dieses Muster zu verwenden, suchen z.B. bei meinem answer zu diesem question.
Ausgezeichnete Beschreibung – Padyster