0

angularで物事を適切に行う方法について、まだ頭を抱えようとしています。だから私はそのようなディレクティブを持っています

<div my-directive>
   <input type="button" value="Click" />
   <div id="someElementToRemove"></div>
</div> 

入力ボタンにオンリックリスナーを割り当てたい。この入力ボタンは DOM を操作し、ディレクティブ テンプレート内の一部の要素を削除します。私の質問は、この動作をどこで指定する必要があるかです。コントローラーに DOM 操作ロジックを含めるべきではないことはわかっているので、この機能のためだけにディレクティブを作成しますか?

例えば

... ... ...

私の指令

app.directives.directive('removeElement', function() {
 //logic to remove element
}

そのような些細な機能がディレクティブを保証するかどうか疑問に思っています。または、document.getElementById('button').addEventListener... を介してディレクティブに onclick ハンドラーを割り当てる必要があります。

理想的には、ボタンに ng-click 要素を割り当てて、コントローラーにロジックを作成したいだけです。これは最も簡単な方法のようです。

...
<input type="button" value="Click" ng-click="removeSomeElement()"/>
...

controller.js
...
$scope.removeSomeElement() = function() {
    ...
}
4

1 に答える 1