ng-clickでDOMオブジェクトへの参照を渡す 質問する

ng-clickでDOMオブジェクトへの参照を渡す 質問する

ng-click に同じコールバックを持つ複数の要素があります。

<button ng-click="doSomething()"></button>
<button ng-click="doSomething()"></button>
<button ng-click="doSomething()"></button>
<button ng-click="doSomething()"></button>
// In controller:
$scope.doSomething = function() {
  // How do I get a reference to the button that triggered the function?
};

doSomething を呼び出したオブジェクトへの参照を取得するにはどうすればよいですか? (そこから属性を削除する必要があります)

ベストアンサー1

技術的に言えば、次の操作を実行します。

<button ng-click="doSomething($event)"></button>
// In controller:
$scope.doSomething = function($event) {
  //reference to the button that triggered the function:
  $event.target
};

これはおそらくあなたにとってしないAngularJS の哲学はモデル操作に重点を置き、AngularJS にレンダリングを実行させることです (宣言型 UI からのヒントに基づいて)。コントローラーから DOM 要素と属性を操作することは、AngularJS の世界では絶対に避けるべきことです。

詳細については、この回答を確認してください。https://stackoverflow.com/a/12431211/1418796

おすすめ記事