ネストされたディレクティブでクラスを変更する方法を理解するのに問題があります。ディレクティブ内のマウスオーバー時にクラスを変更する
これは、ディレクティブイムホバーイベント
を要求している他のディレクティブここで <li data-ng-repeat="item in social" class="social-{{item.name}}" ng-mouseover="hoverItem(true);"
ng-mouseout="hoverItem(false);"
index="{{$index}}"><i class="{{item.icon}}"
box="course-{{$index}}"></i></li>
を使用しているインナーngのリピート外ngのリピート以下
<div data-courseoverview data-ng-repeat="course in courses | orderBy:sortOrder | filter:search"
data-ng-controller ="CourseItemController"
data-ng-class="{ selected: isSelected }">
されています
ecourseApp.directive("courseoverview", function() {
return {
restrict : 'A',
replace: true,
/*scope: {
index: '@'
},*/
transclude: true,
templateUrl: "views/course-overview.html",
link: function link(scope, element, attrs) {
scope.switched = false;
//hover handler
scope.hoverItem = function(hovered){
if (hovered) {
element.addClass('hover');
$('#course-0 figure').addClass('tint')
}
else
element.removeClass('hover');
};
}
}});
呼び出し項目を変更するには、$('#course-0 figure').addClass('tint')
が必要です。
おかげ
申し訳ありませんが、これは私が探しているものではありません。基本的に私は最初のng-repeatでそれらを表示するためのディレクティブを使って生成されたアイテムのリストを持っています。このディレクティブには、別のディレクティブを使って別のhg-repeatがあります。最初のループの特定の項目にクラスを追加したい –
'ng-class'を使用して、クラスを要素に動的に割り当てることができます - http:// docs .angularjs.org/api/ng.directive:ngClass、または通常の 'class'属性を使用できます。 – Jason