AngularJS: Wann soll die Variable $ scope an function übergeben werden?

Ich benutze dieTodoMVC App, um mit dem AngularJS-Framework besser zu werden. In demindex.html In den Zeilen 14-16 sehen Sie Folgendes:

<form id="todo-form" ng-submit="addTodo()">
    <input id="new-todo" placeholder="What needs to be done?" ng-model="newTodo" autofocus>
</form>

Beachten Sie, wie dieng-submit Direktive ruft dieaddTodo () Funktion ohne dienewTodo Modell wird als Argument übergeben.

Kurze Zeit später stieß ich in derselben Datei in Zeile 19 auf den folgenden Code:

<input id="toggle-all" type="checkbox" ng-model="allChecked" ng-click="markAll(allChecked)">

Sie können sehen, der Autor hat beschlossen, dieallChecked Modell zumalles markieren() funktionieren diesmal. Wenn ich richtig verstehe, könnten sie verwiesen haben$ scope.allChecked im Controller statt weiterzuleiten.

Warum zwei verschiedene Ansätze in derselben Datei verwenden? Ist ein Ansatz unter bestimmten Umständen besser? Handelt es sich um eine Inkonsistenz oder wird eine tiefere Logik verwendet?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage