AngularJS 引入了一種定義控制器的新語法“controller as”,這引起了一些關注關於其目的的問題。本文旨在闡明此語法背後的基本原則及其優點。
「controller as」語法可讓您實例化控制器並將其指派給目前的變數範圍。例如:
<code class="javascript">controller('InvoiceController as invoice')</code>
此程式碼告訴 Angular 建立 InvoiceController 的實例並將其儲存在目前範圍內的發票變數中。
與「controller as」語法的一個顯著區別是它從控制器定義中消除了 $scope 參數。這允許更乾淨、更簡潔的控制器:
<code class="javascript">// With $scope function InvoiceController($scope) { // Do something with $scope.qty } // With controller as function InvoiceController() { // Do something with this.qty }</code>
雖然從控制器中刪除$scope 簡化了程式碼,但它要求您在視圖中指定別名:
<code class="html">// With $scope <input type="number" ng-model="qty" /> // With controller as <input type="number" ng-model="invoice.qty" /></code>
引入「controller as」語法主要是出於以下原因:
以上是為什麼在 AngularJS 中使用'controller as”語法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!