1

私はangularJSを学んでいますが、学習中にコントローラーの構文がはるかに読みやすくなり、オブジェクト指向の世界から来た私にとっては少し理解しやすくなりました。私はいくつかの記事と SO の回答を読みましたが、それらはすべて $scope と 'controller as' 構文が同じであり、'controller as' 構文は単なる構文糖衣であることを示しているようです。

ただし、SO hereに別の質問を投稿しました。質問に答えたユーザーは、コントローラーを構文として使用しているにもかかわらず、「ui select」ディレクティブを使用するには $scope を注入する必要があると言っています。それはどれですか?$scope を使用する必要がない場合、「コントローラーとして」構文を ui-select で動作させるには何が欠けていますか?

4

3 に答える 3

2

申し訳ありませんが、これは例がなく長くなります。

Controller と Controller As の両方の形式のコントローラーは関数です。私の理解との主な違いは、 Controller As when called が new キーワードを使用して呼び出されるため、「this」構文が機能します。これが、Controller As 構文ではプロトタイプの継承ができるのに、通常の Controller 構文ではできない理由でもあります。Controller As のもう 1 つの優れた点は、スコープ変数を配置できる名前空間です。これは、HTML で、どの部分がどのコントローラーに移動するかを簡単に判断できることを意味します。必要に応じて例を挙げることができますが、それが私の理解との主な違いです。

于 2016-02-09T02:37:10.310 に答える