我正在使用TodoMVC应用程序来改进AngularJS框架.在第14-16行的index.html中,您会看到:
<form id="todo-form" ng-submit="addTodo()">
<input id="new-todo" placeholder="What needs to be done?" ng-model="newTodo" autofocus>
</form>
Run Code Online (Sandbox Code Playgroud)
请注意ng-submit指令如何在不将newTodo模型作为参数传递的情况下调用addTodo()函数.
不久之后,我在第19行的同一个文件中遇到了以下代码:
<input id="toggle-all" type="checkbox" ng-model="allChecked" ng-click="markAll(allChecked)">
Run Code Online (Sandbox Code Playgroud)
您可以看到作者此次决定将allChecked模型传递给markAll()函数.如果我理解正确,他们可以在控制器中引用$ scope.allChecked而不是传入它.
为什么在同一个文件中使用两种不同的方法?在某些情况下,一种方法更好吗?这是一个不一致的情况还是使用了更深层次的逻辑?