Angularアプリは、イベントng-click()
ではなく属性を使用します。onclick
どうしてこれなの?
onclick
Angularは属性の意味を変更しません。Angular式を取得するための並列ng-click
属性を追加します。Angularを使用している場合でも、単純な古いJavaScriptコードを使用します。onclick
実際には、クリックハンドラーで実行しているのは、Angularスコープ内のいくつかの変数を変更すること、またはいくつかの変数を変更するAngularスコープ内の関数を呼び出すことであると想定します。JavaScriptコードからそれを行うには(あなたが入れるもののようにonclick
)、たくさんのステップが必要です
scope.$apply
変更した変数の更新を監視しているものが通知されるように呼び出しますこれは次のようになります。
<a onclick="var $scope = angular.element(event.target).scope(); $scope.yourVar = 42; $scope.$apply()">Go</a>
割り当てのAngular式を使用するとng-click
、そのほとんどすべてが暗黙的に行われます。
<a ng-click="yourVar = 42">Go</a>
ng-clickは角度式を保持します。角度式は、ng-click属性を持つ要素またはその要素の祖先にバインドされているAngularスコープのコンテキストで評価されます。
Angular式言語にはフロー制御ステートメントが含まれておらず、変数を宣言したり関数を定義したりすることはできません。これらの制限は、テンプレートが変数にアクセスし、コントローラーまたはディレクティブによって使用可能になった関数のみを実行できることを意味します。