1

html を含むディレクティブがあるとしますcomponent.html

<div class="text-field"
     ng-class="{'classA': varA}">
....
</div>

それから私はしようとしています...

<component ng-class="{'classB': varB}"></component>

その後、ng-class私はそのようなものを持って{'classB': varB} {'classA': varA}いますが、明らかに機能していません。

問題は、変更できないことですcomponent.htmlが、キーアップ時にクラスを追加/削除する必要があります (基準によって異なります)。私の状況で ng-class を追加することは可能ですか、それともクラスを追加/削除する別の方法がありますか?

4

1 に答える 1

2

スクリプトを介してクラスを追加する別のディレクティブを追加してみてください。

.directive('myDir',function(){
  return {
    scope:{
     varB:'='
    },
    link: function($scope,$element){
      if($scope.varB)
        $element.addClass('classB');
    }
  }
});

そして次のように使用します:

<component ng-class="{'classB': varB}" my-dir var-b="something"></component>
于 2016-06-28T07:42:34.533 に答える