AngularJS: 如何 addClass/removeClass 将传入的 id 作为 $scope 变量?

AngularJS: How to addClass/removeClass with passed in id as $scope variable?

在我的代码的前面,我将一个元素 ID 传递到我的代码中并为其设置了一个变量。之后,我尝试从具有该 ID 的元素中 removeClass()

//$scope.myID is equal to some id string like 'element123'

$scope.clearClass = function () {
    var target = angular.element(document.querySelector($scope.myID));
    target.removeClass('clicked');
}

我不相信在这里找到了正确的变量,或者在 querySelector 中正确传递了变量。

文档说它应该是这样的:querySelector('#element123') 但我不知道如何使用 $scope.myID.

这样的传入变量来做到这一点

如果有多个元素,例如按钮,如果单击一个元素,addClass 将仅应用于该按钮,而 removeClass 将应用于其余按钮,我将如何做到这一点?

不要在控制器中操作 DOM。使用 ngClass 指令:

$scope.clearClass = function () {
    $scope.clickedFlag = false;
}

并在 HTML

<div ng-class="{ clicked: clickedFlag }"></div>