AngularJS では、コントローラーを定義するための新しい構文 "controller as" が導入されました。その目的についての質問。この記事は、この構文の背後にある理論的根拠とその利点を明確にすることを目的としています。
「controller as」構文を使用すると、コントローラーをインスタンス化し、現在の変数に割り当てることができます。範囲。例:
<code class="javascript">controller('InvoiceController as invoice')</code>
このコードは、InvoiceController のインスタンスを作成し、それを現在のスコープ内の請求書変数に保存するように Angular に指示します。
「controller as」構文との顕著な違いの 1 つは、コントローラー定義から $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 中国語 Web サイトの他の関連記事を参照してください。