AngularJS a introduit une nouvelle syntaxe pour définir les contrôleurs, « contrôleur en tant que », ce qui a soulevé certains questions sur son objectif. Cet article vise à clarifier la justification de cette syntaxe et ses avantages.
La syntaxe "contrôleur en tant que" vous permet d'instancier un contrôleur et de l'affecter à une variable dans le courant portée. Par exemple :
<code class="javascript">controller('InvoiceController as invoice')</code>
Ce code indique à Angular de créer une instance de InvoiceController et de la stocker dans la variable de facture dans la portée actuelle.
Une différence notable avec la syntaxe "controller as" est qu'elle élimine le paramètre $scope de la définition du contrôleur. Cela permet d'obtenir des contrôleurs plus propres et plus concis :
<code class="javascript">// With $scope function InvoiceController($scope) { // Do something with $scope.qty } // With controller as function InvoiceController() { // Do something with this.qty }</code>
Bien que la suppression de $scope du contrôleur simplifie le code, cela vous oblige à spécifier un alias dans la vue :
<code class="html">// With $scope <input type="number" ng-model="qty" /> // With controller as <input type="number" ng-model="invoice.qty" /></code>
La syntaxe "contrôleur en tant que" a été introduite principalement pour ces raisons :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!